int num=s1.getName().compareTo(s2.getName());
等价于
String name1=s1.getName();
String name2=s2.getName();
int num=name1.comareTo(name2);//这是调用的String的compareTo
return new Integer(s1.getAge()).compareTo(new Integer(s2.getAge()));
等价于
int age1=s1.getAge();
int age2=s2.getAge();
return new Integer(age1).compareTo(newt Integer(age2));//这是调用的Integer的compareTo作者: trhthyj 时间: 2014-4-2 09:54
谢谢,很详细!作者: 年轻的老头 时间: 2014-4-2 10:00
public interface Comparable<T> { public int compareTo(T o); } public final class Integer extends Number implements Comparable<Integer> { ... public static int compare(int x, int y) { return (x < y) ? -1 : ((x == y) ? 0 : 1); } ... public int compareTo(Integer anotherInteger) { return compare(this.value, anotherInteger.value); } ... }作者: 年轻的老头 时间: 2014-4-2 10:02
public interface Comparable<T> {
public int compareTo(T o);
}
public final class Integer extends Number implements Comparable<Integer> {
...
public static int compare(int x, int y) {
return (x < y) ? -1 : ((x == y) ? 0 : 1);
}
...
public int compareTo(Integer anotherInteger) {
return compare(this.value, anotherInteger.value);
}
...
}
希望你从以上源码看出点compareTo是怎么来的。