java提到比较对象,那就脱离不开 Comparable Comparator 这俩接口;我们知道这两个接口都可以实现我们的功能,但是有什么区别呢:
Comparable: compareTo
Comparator: compare
使用:
区别:
可以看到实现Comparable接口需要侵入到本身的实体类中,而实现Comparator则不需要侵入,与被比较的类分离;使用方式都是Collections.sort 方法,Comparator需要将比较器当参数传递,Comparable因为自身被要比较的类实现了,所以不需要显式的传递;最终效果是一样的。