我尝试创建一个集合.只是一个有3个名字的小集合,我想按字母顺序排序.并且总是会遇到这个错误:线程"main"中的异常java.lang.AbstractMethodError:collection.compareTo(Ljava/lang/Object;)I.在行中:Collections.sort(名称); 我该怎么做才能克服我的问题?
public class collection implements Comparable<collection> {
private String name;
public collection(String name){
this.name= name;
}
public String getName(){
return name;
}
public int compare??(collection c){
return this.getName().compareTo(c.getName());
}
}
public class collectionList {
private ArrayList <collection> names;
public collectionList(){
names = new ArrayList <collection>();
}
public void populate() {
collection c1 = new collection("Monica Rows");
names.add(c1);
collection c2 = new collection("Peter Walker");
names.add(c2);
collection c3 = new collection("Jack Miller");
names.add(c3);
}
public void sortBy(){
Collections.sort(names);
}
public String names(){
String s="";
for(collection c: names){
s+=c.getName()+ "\n";
}
return s;
}
}
public class collectionMain {
public static void main(String[] args){
collectionList c = new collectionList();
c.populate();
System.out.println(c.names());
c.sortBy();
System.out.println(c.names());
}
Run Code Online (Sandbox Code Playgroud)
}
Nei*_*ssy 10
compareTo方法的名称使用unicode字符."T"是unicode 0x03A4,"o"是0x03BF.它们应该是0x0054和0x006F.您可以使用以下链接检查您的角色.
http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=%26%23932%3B&mode=char
| 归档时间: |
|
| 查看次数: |
905 次 |
| 最近记录: |