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
接口来实现。也许这会有帮助。