Person类实现Comparable接口,按出生年月日比较数组对象大小
时间: 2024-03-01 07:50:40 浏览: 72
java 实现Comparable接口排序,升序、降序、倒叙
5星 · 资源好评率100%
首先,我们需要在Person类中实现Comparable接口,重写compareTo方法,用来比较两个Person对象的大小。在比较时,我们可以通过比较出生年月日的先后顺序来确定两个Person对象的大小关系。比较的具体实现如下:
```
public class Person implements Comparable<Person> {
private String name;
private LocalDate birthday;
// 构造方法和其他方法省略
public int compareTo(Person other) {
return this.birthday.compareTo(other.birthday);
}
}
```
在上面的代码中,我们将Person类实现了Comparable接口,并指定了泛型类型为Person。在compareTo方法中,我们通过调用LocalDate类的compareTo方法比较了两个Person对象的出生年月日,并返回比较结果。
接下来,我们可以通过Arrays.sort方法来对Person对象数组进行排序,排序时会自动调用Person类的compareTo方法。示例代码如下:
```
Person[] persons = new Person[3];
// 给persons数组赋值
Arrays.sort(persons);
// 排序后的persons数组中,按照出生年月日从早到晚排序
```
在上面的代码中,我们定义了一个Person对象数组,并通过赋值的方式给数组赋值。然后,我们调用Arrays.sort方法对数组进行排序,这里无需传入比较器,因为Person类已经实现了Comparable接口,可以自动调用compareTo方法进行比较。排序后,数组中的Person对象按照出生年月日从早到晚排序。
阅读全文