目录
有的时候能,有的时候不能
起因:
阿里开发规范中有这样一条规范:在POJO类中的任何布尔类型的变量,强制不可以用is前缀。
注意的是,不是所有属性都不能这样命名,是布尔类型的变量不可以,如果是其他类型是没有问题的,如果我们库里是is_deleted的字段名,可以用Integer类型命名属性isDeleted
为什么这样强制约束?
1、用boolean
解释也有给出,会让属性名称误以为是deleted,直观看一下:
编译后的set和get方法:
方法名称如下是,setDeleted,isDeleted
【Lombok生成】
【手动生成】
我用手动生成get和set方法和用lombok,都是一样的
2、用Boolean
如果是用Boolean封装类:
【Lombok生成】
【手动生成】
呀吼~竟然有些不一样,lombook生成的是表示属性名是IsDeleted,而手动生成的属性名就变成了deleted
3、用Integer
【Lombook生成】
【手动生成】
是我们需要的isDeleted的属性名称,并且不管是手动还是用lombook都是没有问题的
所以下次再有人告诉你属性中不能可以这样命名的时候,你就可以说那要看具体情况,正所谓知其然,还要知其所以然~