试下改LinkedList的sort(),这个方法是本来实现接口list而有的,但总是报错,请指点:
import java.util.*;
public class TestSort{
LinkedList mtn = new LinkedList();//产生一个链表
public static void main(String[] args){
new TestSort().go();
}
public void go(){
//链表里添加些元素
mtn.add("L1");
mtn.add("E2");
mtn.add("M3");
mtn.add("C4");
Compare_str nc = new Compare_str();//生成一个比较器
/*想试的就是下面的方法:*/
mtn.sort(nc);
}
}
/*比较器的定义*/
class Compare_str implements Comparator <String>{
public int compare(String one ,String two) {
return one.compareTo(two);
}
}
/*就是这里想测试能否在基础类LinkedList里改写sort:*/
class LinkedList implements List<String>{
public void sort(Compare_str testcomp){
System.out.println("test system method!");
}
/*
*TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法subList(int,int)
*class LinkedList implements List<String>{
*^
*1 个错误
*/
public LinkedList subList(int from ,int to){};//第一次编译后报错,根据报错信息添加这条语句
/*
*TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法listIterator(int)
*class LinkedList implements List<String>{
*^
*1 个错误
*/
public Iterator<String> listIterator(int m){};//添加新语句后第二次编译仍然报错,则再根据此报错信息添加这条语句
/*
*TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法listIterator(int)
*class LinkedList implements List<String>{
*^
*TestSort.java:47: 错误: LinkedList中的listIterator(int)无法实现List中的listIterator(int)
* public Iterator<String> listIterator(int m){};//添加新语句后第二次编译仍然报错,则再根据此报错信息添加这条语句
* ^
*返回类型Iterator<String>与ListIterator<String>不兼容
*其中, E是类型变量:
*E扩展已在接口 List中声明的Object
*2 个错误
*/
}