這是我使用的比較:爲什麼這個字符串比較器不能編譯?
import java.util.Comparator;
public class StringComparator implements Comparator
{
public int compare(String obj1, String obj2)
{
String delimeter = " ";
String nameSplit1[] = obj1.split(delimeter);
String nameSplit2[] = obj2.split(delimeter);
return nameSplit1[1].compareTo(nameSplit2[1]);
}
}
這是主文件:
import java.util.*;
public class StringCompare
{
public static void main(String args[])
{
List<String> stringList = new ArrayList<String>();
String delimeter = " ";
stringList.add("Seven Clocks");
stringList.add("Twelve Beds");
stringList.add("Eight Frogs");
Collections.sort(stringList, new StringComparator());
for (String a : stringList)
{
System.out.println(a);
}
}
}
我基本上是試圖所以根據該collections.sort各式各樣的人組成一個比較第二個字,不是第一個。但是當我編譯它時,我所得到的就是StringComparator不會覆蓋抽象方法compare(Object,Object)的錯誤。爲什麼它給了我這個錯誤?...
你應該使用泛型。 – SLaks 2013-03-11 21:59:32
'比較(字符串,字符串)'不覆蓋'比較(對象,對象)'這是一個非泛型'比較器'的預期比較方法 – 2013-03-11 22:01:48
較早的rawtypes警告(假設JDK 7)應該讓遊戲離開。而@ @ Override會有所幫助。 – 2013-03-11 22:01:53