这个例子中去声明compareTo()方法干嘛用呢?
求大虾看看这个例子。
例子中已经使用sort()进行升序排列了。
那么,下面的compareTo()声明又是干什么用的呢?
菜鸟出来,请大虾们多多指教。。。。
/**
@version 1.30 2004-02-27
@author Cay Horstmann
*/
import java.util.*;
public class EmployeeSortTest
{
public static void main(String[] args)
{
Employee[] staff = new Employee[3];
staff[0] = new Employee( "Harry Hacker ", 35000);
staff[1] = new Employee( "Carl Cracker ", 75000);
staff[2] = new Employee( "Tony Tester ", 38000);
Arrays.sort(staff);
// print out information about all Employee objects
for (Employee e : staff)
System.out.println( "name= " + e.getName() + ",salary= " + e.getSalary());
}
}
class Employee implements Comparable <Employee>
{
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;
}
/**
Compares employees by salary
@param other another Employee object
@return a negative value if this employee has a lower
salary than otherObject, 0 if the salaries are the same,
a positive value otherwise
*/
public int compareTo(Employee other)
{
if (salary < other.salary) return -1;
if (salary > other.salary) return 1;
return 0;
}
private String name;
private double salary;
}
[解决办法]
占据有利地形--沙发
呵呵舒舒服服地帮 "gaigai22(耷耷) "顶一下
[解决办法]
用来声明一个比较规则,排序的时候,按照这个规则排序比较大小。
[解决办法]
compareTo()方法是JVM在排序时会回调的一个方法
如果返回正值表示:this> other
如果返回负值表示:this <other
如果返回零表示:this==other
[解决办法]
自己找本书看看就全明白了