我有一個java人反對:通過日期,比較對象(實現比較)
public class People {
String lastname;
String firstname;
String gender;
String datebirth;
String fcolor;
public People(String lastname, String firstname, String gender,String datebirth, String fcolor) {
this.lastname = lastname;
this.firstname = firstname;
this.gender = gender;
this.datebirth = datebirth;
this.fcolor = fcolor;
}
public String getLastname() {
return lastname;
}
public String getFirstname() {
return firstname;
}
public String getGender() {
return gender;
}
public String getFcolor() {
return fcolor;
}
public String getDatebirth() {
return datebirth;
}
}
我想建立一個比較器通過datebirth比較(datebirth有時這種格式的「1943年2月13日」,有時這種格式的「1943年2月13日」,你能幫助我如何實現它
我開始,但是糊塗了:
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Comparator;
import java.text.DateFormat;
public class CompareDateBirth implements Comparator<People>{
public int compare(People p, People q) {
DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
Date Pdate = null;
Date Qdate= null;
try {
Pdate = df.parse(p.getDatebirth());
Qdate = df.parse(q.getDatebirth());
} catch (Exception e) {
e.printStackTrace();
}
return Pdate.compareTo(Qdate) > 0 ? 1 : 0;
}
}
非常感謝您的幫助。我想現在有一個比較器,比較性別(女性在男性之前),然後姓氏升序,謝謝你的幫助表示讚賞。 – akram
警告,p或q可能爲空。 – Nico
五年來不及。當然,OP應該檢查所有這些。它只是作爲一個例子,而不是生產代碼。 – duffymo