网站救助计划
1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本
2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助,网站倒闭后可联系站长领取本站pdf内容
3.若网站能存活下来,后续将会持续更新内容
comparable
接口出自java.lang
包,可以理解为一个内比较器,因为实现了Comparable
接口的类可以和自己比较,要和其他实现了Comparable
接口类比较,可以使用compareTo(Object obj)
方法。compareTo
方法的返回值是int
,有三种情况:- 返回正整数(比较者大于被比较者)
- 返回0(比较者等于被比较者)
- 返回负整数(比较者小于被比较者)
comparator
接口出自java.util
包,它有一个compare(Object obj1, Object obj2)
方法用来排序,返回值同样是int
,有三种情况,和compareTo
类似。
它们之间的区别:很多包装类都实现了comparable
接口,像Integer
、String
等,所以直接调用Collections.sort()
直接可以使用。如果对类里面自带的自然排序不满意,而又不能修改其源代码的情况下,使用Comparator
就比较合适。此外使用Comparator
可以避免添加额外的代码与我们的目标类耦合,同时可以定义多种排序规则,这一点是Comparable
接口没法做到的,从灵活性和扩展性讲Comparator更优,故在面对自定义排序的需求时,可以优先考虑使用Comparator
接口。
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版