你的位置:首页 > 软件开发 > Java > 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

发布时间:2016-09-23 11:00:09
建议75:集合中的元素必须做到compareTo和equals同步  实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法有关系吗?有关系,在compareTo的返回为0时,它表示的是 进行比较的两个 ...

编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

建议75:集合中的元素必须做到compareTo和equals同步

  实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法有关系吗?有关系,在compareTo的返回为0时,它表示的是 进行比较的两个元素时相等的。equals是不是也应该对此作出相应的动作呢?我们看如下代码:

 1 class City implements Comparable<City> { 2   private String code; 3  4   private String name; 5  6   public City(String _code, String _name) { 7     code = _code; 8     name = _name; 9   }10   //code、name的setter和getter方法略11   @Override12   public int compareTo(City o) {13     //按照城市名称排序14     return new CompareToBuilder().append(name, o.name).toComparison();15   }16 17   @Override18   public boolean equals(Object obj) {19     if (null == obj) {20       return false;21     }22     if (this == obj) {23       return true;24     }25     if (obj.getClass() == getClass()) {26       return false;27     }28     City city = (City) obj;29     // 根据code判断是否相等30     return new EqualsBuilder().append(code, city.code).isEquals();31   }32 33 }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。