importjava.util.*;publicclassComparable{publicstaticvoidmain(String[]args){Listr2=newLinkedList();r2.add(newName("yan","enbo"));r2.add(newName("miao","zhenwei"));r2.add(n...
import java.util.*;
public class Comparable {
public static void main(String[] args){
List r2=new LinkedList();
r2.add(new Name("yan","enbo"));
r2.add(new Name("miao","zhenwei"));
r2.add(new Name("li","zesong"));
r2.add(new Name("kong","lingming"));
r2.add(new Name("yan","wenli"));
System.out.println(r2);
Collections.reverse(r2);
System.out.println(r2);
}
}
class Name{
String firstname,lastname;
public Name(String q,String p){
firstname=q;
lastname=p;
}
public String toString(){
return firstname+lastname;
}
public int compareTo(Object o){
Name r=(Name) o;
int t=lastname.compareTo(o.lastname);
return (t!=0 ? t :
firstname.compareTo(o.firstname));
}
}
姓名排序 重写compareTo()方法好像有错误!请问到底错哪里了??
上面代码错了
这个为准:
import java.util.*;
public class Comparable {
public static void main(String[] args){
List r2=new LinkedList();
r2.add(new Name("yan","enbo"));
r2.add(new Name("miao","zhenwei"));
r2.add(new Name("li","zesong"));
r2.add(new Name("kong","lingming"));
r2.add(new Name("yan","wenli"));
System.out.println(r2););
Collections.sort(r2);
System.out.println(r2);
}
}
class Name{
String firstname,lastname;
public Name(String q,String p){
firstname=q;
lastname=p;
}
public String toString(){
return firstname+lastname;
}
public int compareTo(Object o){
Name r=(Name) o;
int t=firstname.compareTo(r.firstname);
return (t!=0 ? t :
lastname.compareTo(r.lastname));
}
}
展开