Sonar报告以下代码存在困惑的三元操作符问题:
package com.example.dto;
import java.util.Date;
public class ShiftTemplateUserDTO {
private Date breakStartTime;
private Date breakEndTime;
public Date getBreakStartTime() {
return breakStartTime != null ? new Date(breakStartTime.getTime()) : null;
}
public void setBreakStartTime(Date breakStartTime) {
this.breakStartTime = breakStartTime != null ? new Date(breakStartTime.getTime()) : null;
}
public Date getBreakEndTime() {
return breakEndTime != null ? new Date(breakEndTime.getTime()) : null;
}
public void setBreakEndTime(Date breakEndTime) {
this.breakEndTime = breakEndTime != null ? new Date(breakEndTime.getTime()) : null;
}
}
我尝试更新代码添加if/else条件,但是Sonar仍然在抱怨同样的规则,我做错了什么?
public Date getBreakStartTime() {
if (breakStartTime != null) {
return new Date(breakStartTime.getTime());
} else {
return null;
}
}
public void setBreakStartTime(Date breakStartTime) {
if (breakStartTime != null) {
this.breakStartTime = new Date(breakStartTime.getTime());
} else {
this.breakStartTime = null;
}
}