class MyComparator implements Comparator<Student>{
public int compare(Student s1,Student s2){
int num = new Integer(s1.getAge()).compareTo(new Integer(s1.getAge()),new Integer (s2.getAge()));
//int num = compare(new Integer(s1.getAge()),new Integer (s2.getAge()));为什么不能用compare??
if(num==0)
return s1.getName().compareTo(s2.getName());
return num;
}
}
改用compare后编译时出现了下面的错误提示!
MapText.java:37: 无法将 MyComparator 中的 compare(Student,Student) 应用于 (java.
lang.Integer,java.lang.Integer)
int num = compare(new Integer(s1.getAge()),new Integer (s2.getAg
e()));
^作者: 彭润生 时间: 2012-9-14 02:45
//int num = compare(new Integer(s1.getAge()),new Integer (s2.getAge()));为什么不能用compare??
这个compare是接口Comparator里面的一个方法,你这样用当然不行了,除非你让这个类实现了这个接口,让这个类具有比较性,这样两个对象比较了。你Integer本身就有compareTo这个方法,所以可以用了。不知道解决了你的疑问没?