抽象オブジェクトのヒープを実装しています。スタックには比較が必要ないため、スタックを実装できました。ただし、ヒープには比較が必要です。だから私は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 に答える