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