class Person implements Comparable<Person>{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("M/d/yyyy");
private String name;
private String city;
private int age;
private String dob;
public Person(String name, String city, int age , String dob) {
this.name = name;
this.city = city;
this.age = age;
this.dob = dob;
}
// GETTERS/SETTERS
@Override
public int compareTo(Person p) {
// TODO Auto-generated method stub
return LocalDate.parse(p.getDob(),formatter).compareTo(LocalDate.parse(p.getDob(),formatter));
}
}
答案 0 :(得分:2)
return LocalDate.parse(p.getDob(),formatter).compareTo(LocalDate.parse(p.getDob(),formatter));
请注意,此处您正在将p
的DOB与p
的DOB进行比较。这将始终返回0
。
像这样尝试:
return LocalDate.parse(this.getDob(),formatter).compareTo(LocalDate.parse(p.getDob(),formatter));
还要注意,您正在比较完整的DOB,包括不符合您要求的月份。