-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) –
考虑定义一个类间隔 –