Sonar给出以下代码的主要违规错误(“简化 boolean 表达式”)。以下返回匹配日期方法的 boolean 值。我应该采取哪些步骤来克服此违规。发送
private boolean matchDate(Calendar createdDate, DateDomain dateRange) {
Calendar fromDateCal = Calendar.getInstance();
fromDateCal.setTime(dateRange.getDateFromD());
Calendar toDateCal = Calendar.getInstance();
toDateCal.setTime(dateRange.getDateToD());
if (createdDate.after(fromDateCal) && createdDate.before(toDateCal)) {
return true;
}
else {
return false;
}
}
最佳答案
不是 Sonar 专家,但我建议您这样做,
private boolean matchDate(Calendar createdDate, DateDomain dateRange) {
Calendar fromDateCal = Calendar.getInstance();
fromDateCal.setTime(dateRange.getDateFromD());
Calendar toDateCal = Calendar.getInstance();
toDateCal.setTime(dateRange.getDateToD());
return createdDate.after(fromDateCal) && createdDate.before(toDateCal);
}
我希望这就是它所说的。
与其检查 boolean
并再次返回一个 boolean
,不如将该 boolean
用作返回参数。
关于java - 简化 boolean 表达式 +(查找日期是否在给定日期范围内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21698692/