在调用x.compareTo(y)的时候,这个compareTo方法必须确实比较两个对象的内容,并返回比较的结果。
* 当x小于y时,返回一个负数;
* 当x等于y时,返回0;
* 否则返回一个正数。
以下为测试实例:
新建一个Employee类实现Comparable<>接口
package jiekou;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
/**
* @Author Lbl
* @Date 2021/12/28 18:04
* @Description: 雇员类
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Employee implements Comparable<Employee>{
private String name;
private int salary;
@Override
public int compareTo(Employee o) {
return Integer.compare(salary,o.salary);
}
}
创建测试类:
package jiekou;
import org.junit.Test;
/**
* @Author Lbl
* @Date 2021/12/28 18:04
* @Description:
*/
public class InterfaceTest {
/**
* 测试compareTo方法
* 在调用x.compareTo(y)的时候,这个compareTo方法必须确实比较两个对象的内容,并返回比较的结果。
* 当x小于y时,返回一个负数;
* 当x等于y时,返回0;
* 否则返回一个正数。
*/
@Test
public void Test1(){
Employee e1 = new Employee("红",1000);
Employee e2 = new Employee("橙",1200);
Employee e3 = new Employee("黄",1200);
System.out.println(e1.compareTo(e2));
System.out.println(e2.compareTo(e3));
System.out.println(e3.compareTo(e1));
}
}
输出结果如下: