相对的 comparable
另一个有趣的方法也有一个相当正式的契约,那就是 Comparable 接口的 compareTo 方法。如果要控制特定的对象如何排序,那么这个接口非常重要。在本节中,您将学习如何利用 Commons Lang 的 CompareToBuilder。
排序输出
在过去的 Java 编程中您可能已经注意到,对于对象如何按一定的顺序排序有默认的机制,例如 Collections 类的 sort 方法。
例如,例 15 中的 Collection 未经排序,如果不对它做任何事情,那么这个顺序将一直维持下去:
例 15. 一个 String 列表
ArrayList<String> list = new ArrayList<String>();
list.add("Megan");
list.add("Zeek");
list.add("Andy");
list.add("Michelle");
然而,如果像例 16 中那样将 list 传递给 Collections 的 sort 方法,那么将应用默认的排序,在这里是按字母顺序。例 16 将例 15 中的名称列表按字母顺序排序,并打印出排序后的结果:
例 16. 对 String 列表排序
Collections.sort(list);
for(String value : list){
System.out.println("sorted is " + value);
}
例 17 显示输出:
例 17. 排序后的 String 列表
sorted is Andy
sorted is Megan
sorted is Michelle
sorted is Zeek
当然,这样之所以行得通,是因为 Java String 类实现了
Apache Commons 项目运用 - Comparable篇
最新推荐文章于 2021-03-06 04:05:07 发布
本文介绍了如何利用Apache Commons Lang的CompareToBuilder工具类来简化Comparable接口的实现,以便对自定义对象(如Account)进行排序。通过示例展示了如何使用CompareToBuilder进行属性比较,以及如何通过反射API进一步简化代码。
摘要由CSDN通过智能技术生成