public static void main(String[] args){
final Guava guava=new Guava("a","22",Calendar.getInstance());
System.out.println(guava);
System.out.println(guava.hashCode());
Calendar instance = Calendar.getInstance();
instance.add(Calendar.YEAR,1);
final Guava guava2=new Guava("a","22",instance);
System.out.println(guava.compareTo(guava2));
}
static class Guava implements Comparable<Guava>{
private final String manufacturer;
private final String version;
private final Calendar releaseDate;
public Guava(String manufacturer,String version,Calendar releaseDate){
this.manufacturer=manufacturer;
this.version=version;
this.releaseDate=releaseDate;
}
// @Override
// public boolean equals(Object o) {
// if (this == o) return true;
// if (o == null || getClass() != o.getClass()) return false;
// Guava guava = (Guava) o;
// return Objects.equals(manufacturer, guava.manufacturer) && Objects.equals(version, guava.version) && Objects.equals(releaseDate, guava.releaseDate);
// }
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Guava guava = (Guava) o;
return Objects.equal(this.manufacturer,guava.manufacturer)&& Objects.equal(this.version,guava.version) && Objects.equal(this.releaseDate,guava.releaseDate);
}
// @Override
// public int hashCode() {
// return Objects.hash(manufacturer, version, releaseDate);
// }
@Override
public int hashCode() {
return com.google.common.base.Objects.hashCode(manufacturer,version,releaseDate);
}
// @Override
// public String toString() {
// return "Guava{" +
// "manufacturer='" + manufacturer + '\'' +
// ", version='" + version + '\'' +
// ", releaseDate=" + releaseDate +
// '}';
// }
@Override
public String toString() {
return MoreObjects.toStringHelper(this).omitNullValues()
.add("manufacturer",this.manufacturer)
.add("version",this.version)
.add("releaseDate",this.releaseDate).toString();
}
@Override
public int compareTo(Guava o) {
return ComparisonChain.start().compare(this.manufacturer,o.manufacturer).compare(this.version,o.version).compare(this.releaseDate,o.releaseDate).result();
}
}
Guava tostring hashCode equeals compareTo
最新推荐文章于 2024-08-06 10:22:43 发布