java.lang.Object;无法强制转换为[java.lang.Compariable]

java.lang.Object;无法强制转换为[java.lang.Compariable],java,Java,我被这个java.lang.ClassException卡住了。一般来说,我尝试使用一个简单的方法maxElement(),它只返回最高的整数,add()方法可以很好地工作,并且覆盖toString(),最后两个方法继承自ArrayLinearList元素是一个数组ArrayLinearList也能很好地工作。这是我的代码: public class ArrayLinearList<T> implements LinearList<T>, Iterable<T>

我被这个
java.lang.ClassException
卡住了。一般来说,我尝试使用一个简单的方法
maxElement()
,它只返回最高的整数,
add()
方法可以很好地工作,并且覆盖
toString()
,最后两个方法继承自
ArrayLinearList
元素是一个数组ArrayLinearList也能很好地工作。这是我的代码:

public class ArrayLinearList<T> implements LinearList<T>, Iterable<T>{
 protected T[] element; 
 protected int size; 
  *constructors and methods*
  // default constructor makes an T[]element of length 10

在我看来,无论元素的对象类型是什么,都没有实现可比较的接口,并且您从array.sort()中得到了异常。也许共享您的完整代码会有所帮助。

传递到的元素必须实现接口

将指定对象数组的指定范围排序为 升序,根据其元素的自然顺序。 要排序的范围从index fromIndex(包含)扩展到 索引到索引,独占。(如果fromIndex==toIndex,则要 “排序”为空。)

此范围内的所有元素都必须实现 可比接口

此外,此范围内的所有元素都必须 相互可比(即e1.compareTo(e2)不能抛出 数组中任何元素e1和e2的ClassCastException)


因此
元素
数组中的对象必须实现
可比
接口

元素指的是什么?请提供ArrayLinearList类的相关详细信息。如果未包含
元素
的声明和初始化,请显示元素数组-1的声明和初始化。如果未包含异常堆栈跟踪,请投票关闭。(错误没有发生在您指示的行上。它可能发生在
sort
调用上。)
public class ArrayLinearListTaller1<T extends  Comparable<T>> extends ArrayLinearList<T>{
  public static void main(String[] args) {
    ArrayLinearListTaller1<Integer>x=new ArrayLinearListTaller1<Integer>();
    x.add(0, new Integer(10));
    x.add(1, new Integer(5));
    x.add(2, new Integer(7));
    System.out.println(x);
    System.out.println(x.maxElement());
    }// end of main

 public T maxElement() {
    Arrays.sort(element,0,size);
    T max= element[size-1];//*error here*
    return max;
}
[10,5,7]  
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Comparable;