内部比较器简单的来理解,就是可用用来比较一个类内部对象大小,在使用中,如果哪个类中需要比较对象,那么就要实现Comparable这个接口即可
下面是代码演示:
1、分别定义一个普通类FU类和测试类Test
2、我们在普通类中定义一个私有属性年龄age,在分别创建有参构造和无参构造,用于测试类的调用
3、我们在测试类调用构造函数并赋值,因为是比较,所以,我们创建两个方便比较
4、我们两个类都已经创建完毕,现在最关键的一步来了,实现Comparable来进行比较
4、使用普通类,实现Comparable接口,并重写方法
实现之后,他会提示你重写里面的compareTo方法,选择重写即可
这里需要注意的是,在我们实现接口时,后面记得添加上泛型<普通类类名>
5、这个重写的这个compareTo方法就是可以实现对象之间比较,我们还需要 在里面填写代码
6、然后我们在测试类中,用测试类中的两个变量fu和fu1中,调用compareTo方法来进行比较
7、如果输出的结果为0,则代表相等;正的话,age比较大;为负的话,代表age2比较大
8、如果这两个数不是int类型的,而是String类型的,引用类型的该怎么办?这个时候,我们就要在重写方法内引用compareTo的方法
9、在测试类引用
10、运行,很明显,张三大于李四
11、这里要注意,我们之前在重写方法内返回的age-age2,这个完全是我们手写的比较方法,但是在比较name的时候,使用的是compareTo的内部方法 下面是name的比较源码:
12、但是要注意,无论我们返回的什么,我们实现的还是Comparable方法,最终的操作还是属于内部比较器