Java 处理抽象类时如何使用比较器?

Java 处理抽象类时如何使用比较器?,java,arrays,sorting,abstract-class,comparable,Java,Arrays,Sorting,Abstract Class,Comparable,我尝试使用compareTo并实现Comparable接口,但我找不到一种方法来比较两个对象,使其返回一个整数(-1,如果第一个对象小于第二个对象,则返回0;如果对象1大于对象2,则返回1)。 这就是我尝试过的: public class MyArrayList<E> { private Object[] array; private int size; private int capacity; public MyArrayList() { this.capacity

我尝试使用
compareTo
并实现
Comparable
接口,但我找不到一种方法来比较两个对象,使其返回一个整数(-1,如果第一个对象小于第二个对象,则返回0;如果对象1大于对象2,则返回1)。 这就是我尝试过的:

public class MyArrayList<E> {

private Object[] array;
private int size;
private int capacity;

public MyArrayList() {
    this.capacity = 1000;
    this.array = new Object[capacity];
    this.size = 0;
}

public boolean add(E element) {
int i = 0;
while(element.compareTo(array[i]) > 0) {
    i++;
    }
this.set(i, element);
return true;
  }
}
公共类MyArrayList{
私有对象[]数组;
私有整数大小;
私人int能力;
公共MyArrayList(){
此容量=1000;
this.array=新对象[容量];
此值为0.size=0;
}
公共布尔加法(E元素){
int i=0;
while(element.compareTo(数组[i])>0){
i++;
}
这个集合(i,元素);
返回true;
}
}
我基本上是在尝试使用可比较的方法对MyArrayList进行排序。你知道我还有什么方法来比较这两个物体吗?
谢谢

您只需要接受实现
Comparable
接口的类

public class MyArrayList<E extends Comparable<E>> {

您只需要接受实现
Comparable
接口的类

public class MyArrayList<E extends Comparable<E>> {

您可以要求
E
类型具有可比性:将类定义更改为:
公共类MyArrayList{..}
,以便
元素.compareTo(…)
将调用
E
实现。您可以要求
E
类型具有可比性:将类定义更改为:
公共类MyArrayList{..}
,以便
元素.compareTo(..)
将调用
E
实现。然后在我的其他类中出现其他错误,例如:reviewArray=new MyArrayList();^原因:推理变量E具有不兼容的边界等式约束:Review lower bounds:Compariable然后我在其他类中遇到其他错误,例如:reviewArray=new MyArrayList();^原因:推理变量E具有不兼容的边界等式约束:查看下界:可比