Apache Commons 项目运用 - Comparable篇

本文介绍了如何利用Apache Commons Lang的CompareToBuilder工具类来简化Comparable接口的实现,以便对自定义对象(如Account)进行排序。通过示例展示了如何使用CompareToBuilder进行属性比较,以及如何通过反射API进一步简化代码。
摘要由CSDN通过智能技术生成
相对的 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 类实现了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值