Guava学习(五):ComparisonChain(比较链)
主要作用是帮助我们实现对象的比较(如果对象有多个字段,我们希望比较的时候是根据多个字段来比较的),没用这个之前我们通常这样写:
class Person implements Comparable {
private String lastName;
private String firstName;
private int zipCode;
public int compareTo(Person other) {
int cmp = lastName.compareTo(other.lastName);
if (cmp != 0) {
return cmp;
}
cmp = firstName.compareTo(other.firstName);
if (cmp != 0) {
return cmp;
}
return Integer.compare(zipCode, other.zipCode);
}
}
上面的代码太琐碎,不够优雅,使用ComparisonChain后就能帮助我们解决这个痛点了。话不多说,上代码。
Person类
package com.bluedragon.guavalearning.comparisonchain;
import com.google.common.collect.ComparisonChain;
import com.google.commo