-1
我有一個類有三個Date
字段。有沒有一種簡單的方法來檢查字段是否爲null?
public static final class Filter {
private final Date startDateFrom;
private final Date startDateTo;
private final Date endDateFrom;
private final Date endDateTo;
private final Date regDateFrom;
private final Date regDateTo;
public Filter(Date startDateFrom, Date startDateTo,
Date endDateFrom, Date endDateTo,
Date regDateFrom, Date regDateTo) {
this.startDateFrom = startDateFrom;
this.startDateTo = startDateTo;
this.endDateFrom = endDateFrom;
this.endDateTo = endDateTo;
this.regDateFrom = regDateFrom;
this.regDateTo = regDateTo;
}
}
所以我需要檢查並確保至少一對同時具有不null
日期,並檢查DateFrom
之前或等於DateTo
所有非空日期。
我做了這個檢查是否有至少一對:
public boolean allDatesMissing() {
if (startDateFrom != null && startDateTo != null) {
return false;
} else if (endDateFrom != null && endDateTo != null) {
return false;
} else if (regDateFrom != null && regDateTo != null) {
return false;
}
return true;
}
而這個檢查fromDate
是前toDate
:
public void checkDates(Date from, Date to) throws RequestException{
if (from != null) {
if (to != null) {
if (from.after(to)) {
throw new MyException(INCORRECT_DATES_PERIOD);
}
} else {
throw new MyException(MISSING_PARAMETER);
}
} else if (to != null){
throw new MyException(MISSING_PARAMETER);
}
}
有什麼simplier方式做相同?
小的改進:'如果(from.getTime()> to.getTime()){' - > 'if(from.after(to)){' –
看到這個問題:[Avoiding!= null statements](http://stackoverflow.com/q/271526/2815219) –
考慮定義一個類間隔 –