我在学习泛型类和实现方面苦苦挣扎。我想创建一个扩展ArrayList的泛型类(我知道这是不好的做法,这只是我必须做的事)。我想用一个堪比条目到ArrayList(我不允许使用的.sort()排序这里是扩展类:找不到符号 - 方法错误
import java.util.ArrayList;
import java.util.*;
/**
* extending to ArrayList
*/
public class SortedArrayList<E> extends ArrayList<E>
{
/**
* Constructing the super
*/
public SortedArrayList()
{
super();
}
public void insertAndSort (E element){
if (isEmpty()){
add(element);
}
for (int i = 0; i < size(); i++){
E otherElement = get(i);
if(element.compareTo(otherElement) > 0){
add(i, element);
}
if(element.compareTo(otherElement) < 0) {
add(i+1, element);
}
}
}
}
我想要实现的类的compareTo方法的被排序的对象,但是当我尝试编译SortedArrayList类时,它返回一个错误,说“无法识别symbol - method compareTo(E)”。我知道那是因为“element”实际上并不是一个要调用的对象,它的意思是通用的,有没有办法告诉编译器compareTo()方法是从一个不存在的对象中调用的,但是当它被调用时会调用它吗?
相关类:http://stackoverflow.com/questions/4031572/sorted-array-list-in-java – aioobe 2014-12-04 15:15:52