Java中的抽象对象比较
我正在为抽象对象实现一个堆。 现在我能够实现一个堆栈,因为不需要对堆栈进行比较。 但是,堆需要进行比较。 所以我有Java中的抽象对象比较,java,object,abstract-class,comparable,Java,Object,Abstract Class,Comparable,我正在为抽象对象实现一个堆。 现在我能够实现一个堆栈,因为不需要对堆栈进行比较。 但是,堆需要进行比较。 所以我有对象A,和对象B。我可以确保堆中的对象属于同一个类,并且可以对它们进行排序(即该类具有比较功能以了解if AB)。 但是如果我使用A.compareTo(B),我会得到一个语法错误,说没有为对象定义compareTo。 我做了一些研究,发现这个对象并没有实现可比性。 我怎样才能解决这个问题呢。 谢谢。如果您的所有对象都是实现可比较的的共同祖先的后代,该怎么办?因此,在这种情况下,您可
对象A
,和对象B
。我可以确保堆
中的对象
属于同一个类,并且可以对它们进行排序(即该类具有比较功能
以了解if AB)
。
但是如果我使用A.compareTo(B)
,我会得到一个语法错误,说没有为对象定义compareTo
。
我做了一些研究,发现这个对象并没有实现可比性。
我怎样才能解决这个问题呢。
谢谢。如果您的所有对象都是实现可比较的
的共同祖先的后代,该怎么办?因此,在这种情况下,您可以在代码中使用该类型,而不是对象
如果所有对象都是实现可比
的共同祖先的后代,该怎么办?因此,在这种情况下,您可以在代码中使用该类型,而不是对象
对象不可比较。您应该装箱MyObject,它实现了compariable
接口
class MyObject implements Comparable<Object>{
...
@Override
public int compareTo(Object arg0) {
// custom logic
return 0;
}
}
类MyObject实现可比较的{
...
@凌驾
公共整数比较对象(对象arg0){
//自定义逻辑
返回0;
}
}
对象未实现可比性。您应该装箱MyObject,它实现了compariable
接口
class MyObject implements Comparable<Object>{
...
@Override
public int compareTo(Object arg0) {
// custom logic
return 0;
}
}
类MyObject实现可比较的{
...
@凌驾
公共整数比较对象(对象arg0){
//自定义逻辑
返回0;
}
}
-您可以使该类实现java.lang.Compariable
接口,并将对象作为类型参数
public class Test implements Comparable<Object>{
public int compareTo(Object o){
//
}
}
公共类测试实现了可比较的{
公共整数比较对象(对象o){
//
}
}
-您可以使该类实现java.lang.Compariable
接口,并将对象作为类型参数
public class Test implements Comparable<Object>{
public int compareTo(Object o){
//
}
}
公共类测试实现了可比较的{
公共整数比较对象(对象o){
//
}
}
当然要实现可比较的接口。我已经实现了可比较的接口。但是对象本身并没有实现可比较的接口。您是否在公共类类名
之后编写了实现可比较的
?仅仅包含一个compareTo
方法不会使它成为可比较的。那么我建议使用堆栈或堆来代替对象。可以使用Comparator
类而不是Comparable
接口来实现。也许这会很有帮助。当然,实现可比较的接口。我已经实现了可比较的接口。但是对象本身并没有实现可比较的接口。您是否在公共类类名
之后编写了实现可比较的
?仅仅包含一个compareTo
方法不会使它成为可比较的。那么我建议使用堆栈或堆来代替对象。可以使用Comparator
类而不是Comparable
接口来实现。也许这会有帮助。