小弟第一次学习java,还有很多东西搞不清楚
public class Test {
public static void main(String[] args)
{
List employee=new ArrayList();
employee.add(new Worker("Crystal"));
employee.add(new Worker("Aeon"));
employee.add(new Worker("Ken"));
employee.add(new Worker("Boy"));
Collections.sort(employee);
System.out.println(employee);
}
} class Worker implements Comparable
{
private String name;
public Worker(String name)
{
this.name=name;
}
public String toString()
{
return name;
}
public int compareTo(Object o)
{
int result=0;
Worker worker= (Worker)o;
//return name.compareTo(worker.name);
return worker.name.compareTo(name);
}
}当我写 worker.name.compareTo(name);
排序出来的结果是逆序当我写 name.compareTo(worker.name);
排序出来的结果是顺序请各位高手指教:为什么会出现这种状况谢谢......
public class Test {
public static void main(String[] args)
{
List employee=new ArrayList();
employee.add(new Worker("Crystal"));
employee.add(new Worker("Aeon"));
employee.add(new Worker("Ken"));
employee.add(new Worker("Boy"));
Collections.sort(employee);
System.out.println(employee);
}
} class Worker implements Comparable
{
private String name;
public Worker(String name)
{
this.name=name;
}
public String toString()
{
return name;
}
public int compareTo(Object o)
{
int result=0;
Worker worker= (Worker)o;
//return name.compareTo(worker.name);
return worker.name.compareTo(name);
}
}当我写 worker.name.compareTo(name);
排序出来的结果是逆序当我写 name.compareTo(worker.name);
排序出来的结果是顺序请各位高手指教:为什么会出现这种状况谢谢......
两次都是“从小到大”排列,唯一的不同是:字母到底谁大谁小的定义不同。