在以下情况中:
public class Race {
private Status finished;
public Status getFinished() {
return finsihed;
}
public void setFinished(Status finished) {
this.finsihed = finished;
}
public boolean isFinished() {
return finished == Status.FINISHED;
}
}
public class RaceDTO {
private Status finished;
public Status getFinished() {
return finsihed;
}
public void setFinished(Status finished) {
this.finsihed = finished;
}
}
Dozer正在使用isFinished()
方法而非getFinished()
方法映射RaceDTO类。为什么这样以及如何应对它?我更喜欢使用注释。
答案 0 :(得分:0)
如果返回类型为boolean“is”,则使用前缀而不是“get”
答案 1 :(得分:0)
isFinished是表示布尔返回类型的常用方法。
if ( race.isFinished() ) {}
VS
if ( race.getFinished() ) {}
第一个是abit更清晰
答案 2 :(得分:0)
根据JavaBens specification的“ 8.3属性的设计模式”一节,布尔属性可能有一个“是”的acccess方法。如果有一个,这个方法将优先于“ get ”(如果存在)。
答案 3 :(得分:0)
我找到了答案。我必须在一个字段上添加注释,然后不调用任何方法
public class Race {
@Mapping("finished")
private Status finished;
public Status getFinished() {
return finsihed;
}
public void setFinished(Status finished) {
this.finsihed = finished;
}
public boolean isFinished() {
return finished == Status.FINISHED;
}
}