关于sort的迷惑(接口里的内容)

xiaomantoubaba 2003-08-19 09:29:24
import java.util.*;

public class A
{
public static void main(String[] args)
{ Employee[] staff=new Employee[3];
Object a=new Employee("tom",1500);
staff[0]=new Employee("tom0",1000);
staff[1]=new Employee("tom1",2000);
staff[2]=new Employee("tom2",3000);
Arrays.sort(staff);
//???????????????
for(int i=0;i<staff.length;i++)
{
Employee e=staff[i];
System.out.println("name: "+e.getName()
+", salary: "+e.getSalary()
+", compare:"+e.compareTo(a));
}

}
}
class Employee implements Comparable
{
private String name;
private double salary;
public Employee(String n,double s)
{
name=n;
salary=s;
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public void raiseSalary(double byPercent)
{
double raise=salary*byPercent/100;
salary+=raise;
}
public int compareTo(Object otherObject)
{
Employee other=(Employee)otherObject;
if(salary<other.salary)
return -1;
if(salary>other.salary)
return 1;
return 0;
}
}
麻烦大家看看!我不明白Arrays.sort(staff);
究竟是有什么用!
如果我将Arrays.sort(staff);
和class Employee implements Comparable
里的implements Comparable去掉,程序输出结果完全一样!
那么sort究竟是怎么排序的呢?从大到小?从小到大?
可是这个程序里面都可以不需要他啊!

...全文
34 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
denglt 2003-08-20
  • 打赏
  • 举报
回复
Comparable是接口呀,里面的方法
int compareTo(Object otherObject)只是申明,没有实现的代码的。
所以你的 Employee 类中需要
public int compareTo(Object otherObject)来实现接口。
Joelay 2003-08-20
  • 打赏
  • 举报
回复
就算是继成interface里的方法也是要声明的啊,有什么不对。
xiaomantoubaba 2003-08-20
  • 打赏
  • 举报
回复
ding!!!!!!!!!!!!
whyxx 2003-08-19
  • 打赏
  • 举报
回复
public int compareTo(Object otherObject)方法是cmparable里的一个方法,这里只是覆盖了那个方法实现你这个排序中的比较,如果不implements Comparable,那些了这个方法是没意义的,没有地方会去调用的
xiaomantoubaba 2003-08-19
  • 打赏
  • 举报
回复
我想我已经明白了sort()了;但是class Employee implements Comparable
呢?Employee好象没有实现Comparable
里的任何方法啊!public int compareTo(Object otherObject)方法还是在Employee里声明的呢。
我的意思是Employee并没有继承Comparable里的方法啊!
那为什么还要implements Comparable呢?????

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧