我通过以下方式实现了一个 ArrayLinearList 类
public class ArrayLinearList<T> implements LinearList<T>, Iterable<T>
其中包含类成员
protected T[] element
为了扩展类的功能,我创建了一个继承自第一个类的新类
class SuperList<T extends Comparable<T>> extends ArrayLinearList<T>
这里我确保类型 T 实现了 Comparable 接口(这是不能更改的)。
在 SuperList 类中,我有以下方法
public void replace( int pedro, T maria ){
element[ pedro ] = maria;
}
该方法的行生成以下错误
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Comparable;
但是,如果我以以下方式声明类,我就不再有这个问题了(但是这样我就不再能够比较类对象了)
class SuperList<T> extends ArrayLinearList<T>{
对于解决此问题的任何帮助,我将不胜感激。我不允许修改类\ [ ArrayLinearList,只能修改类SuperList。
提前致谢。