0

抽象オブジェクトのヒープを実装しています。スタックには比較が必要ないため、スタックを実装できました。ただし、ヒープには比較が必要です。だから私はObject A、そしてを持っていObject Bます。Object内にあるheapが同じクラスであり、それらが順序付け可能であることを確認できます (つまり、クラスにはcompareToを知る関数がありif A<B, A=B, or A>B)ます。しかし、 を使用すると、それがオブジェクトに対して定義されていないA.compareTo(B)という構文エラーが発生します。compareTo私はいくつかの調査を行い、Object が Comparable を実装していないことを発見しました.どうすればこの問題に対処できますか.ありがとう.

4

3 に答える 3

2

すべてのオブジェクトが、実装する共通の祖先の子孫である場合はどうなるComparableでしょうか? したがって、その場合、コードではなくその型を使用できますObject

于 2012-11-09T10:10:08.237 に答える
1

-そうですね、そのクラスにタイプパラメータとしてjava.lang.Comparableインターフェイスを実装させることができますObject

public class Test implements Comparable<Object>{

    public int compareTo(Object o){

       // 

    }

}
于 2012-11-09T10:12:56.280 に答える
1

オブジェクトは同等を実装していません。インターフェイスを実装する MyObject を作成する必要がありComparableます。

class MyObject implements Comparable<Object>{
    ...
    @Override
    public int compareTo(Object arg0) {
        //  custom logic
        return 0;
    }
}
于 2012-11-09T10:10:28.877 に答える