62,614
社区成员
发帖
与我相关
我的任务
分享
public int compare(Persons o1, Persons o2) {
// TODO 自动生成的方法存根
if (o1 == null || o2 == null) {
throw new NullPointerException();
}
// ---------------------------------------
if (o1.getSalary() < o2.getSalary()) {
return 1;
} else if (o1.getSalary() > o2.getSalary()) {
return -1;
} else {//这块不要用else if了,只有一种情况了,用else if ,后边还得加 返回语句。
//下面都一样。o1.getSalary() == o2.getSalary()
if (o1.getAge() < o2.getAge()) {
return -1;
} else if (o1.getAge() > o2.getAge()) {
return 1;
} else {//o1.getAge() == o2.getAge()
if (o1.getName().compareTo(o2.getName()) != 0) {//不相等,直接返回
return o1.getName().compareTo(o2.getName());
} else {//o1.getName().compareTo(o2.getName() == 0
if (o1.getBooks().getPrice() < o2.getBooks()
.getPrice()) {
return -1;
} else if (o1.getBooks().getPrice() > o2.getBooks()
.getPrice()) {
return 1;
} else {//直接返回o1.getBooks().getBookName().compareTo(o2.getBooks().getBookName());
return o1.getBooks().getBookName()
.compareTo(o2.getBooks().getBookName());
}
}
}
}
}
});