一、Comparable<>接口
我们举例阐述该接口的用法:
如图所示我们定义了一个"Person"类,在main函数中,我们通过Person类实例化了两个对象,由于对象有多个属性,我们在下方的if判断语句中,无法确认到底是判断哪个属性的大小,因此我们使用Comparable<>接口。
使用方法:
1.使用implements实现接口,<>中放比较的类
2.重写compareTo(),鼠标放在Comparable上,按住"Alt"+"Enter"
3.在return 后面进行更改比较部分
(1).年龄这一类基本类型采用加减:
(2).字符类型采用".compareTo()"
4.对于判断语句,采用".compareTo()"的方法
弊端::
该方法直接改变了类,具有一定的局限性,因此不建议使用,我们可以选择更加有灵活的Comparator<>。
二、Comparator<>
还是通过举例的方法来理解,首先我们定义一个Student类
此方法中我们不用修改原本类,我们是通过创建新的一个类实现比较的功能。可以写多个类,比较不同属性时,运用相应的类。
同样的方法,在该类中使用implements,实现接口,其次鼠标放在Comparator上"Alt"+"Enter",
得到重写的Comparator<>,仍然是在return后进行功能的实现
(1).对于数字通过相减
(2).对于字符".compareTo()"
在使用时,实例化出各个类的对象,然后使用"变量名.compare( ,)"即可。
注:Comparator需要头文件,在回车时会自动生成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)