类-成员变量中Boolean和boolean选用
来源
使用MapStruct测试的时候报错找不到字段名。
java: Unknown property “isAge” in result type B_entity. Did you mean “age”?
建议-使用包装类型
因为基本类型具有默认值依旧可以进行下文操作,不便于找错。
基本类型的默认值:
byte
:0
short
:0
int
:0
long
:0L
float
:0.0f
double
:0.0
char
:\u0000
boolean
:false
包装类型的默认值:
null
解决
Boolean默认-null,boolean默认-false。
设置boolean字段+isxxx
(@Date生成的get方法名是isAge()
)使用MapStruct会识别不出字段:
改is->flag(或者改boolean->Boolean):
成功解决。
总结
@Data
注解在生成布尔类型的getter方法时,会自动使用is
前缀命名,以符合JavaBean规范,从而导致在使用MapStruct默认实现get(),set()报找不到。