eclipse生成boolean类型的getter和setter变成is…的问题
1.eclipse生成is…的情况
首先user类设置一个boolean类型的属性sex。
使用eclipse的Generate Getters and Setters
生成如图所示
user类的确是生成了 isSex() 的 getter
setter 为正常的setSex();
2.分析原因
那么为什么getter方法会变成isSex() 呢。我遇到这个问题的时候认为是is~~是boolean类型专有的getter。因为boolean只有两种取值,要么是true,要么是false。而为了区分普通的getter来用另外一种形式,也就是is什么什么的getter。(当然也只是猜测)
后面我将sex的类型变为boolean的包装类,也就是Boolean。同样用eclipse的自动生成getter和setter
结果getter和setter都为正常的形式。
那么为什么Boolean类型就是正常的形式呢?
因为Boolean是boolean的包装类,它的值是可以为null的。也就是Boolean类型可以为true,false也可以为null;那么当然就跟其他属性的getter一样了。
3.解决方案
怎么避免boolean类型生成is什么什么的getter?
一般在项目中经常用到pojo类,以及对pojo类值的映射。所以需要保证getter和setter的格式,上面那种isSex的形式一般是错误的形式。
其实做为pojo类来说,它的属性的数据类型一般都用包装类比较好(Integer,Short,Boolean)。这样属性也可以取到null值。如果都定义为包装类,那么eclipse生成的getter和setter都是标准格式的,就不用担心会不会变成is的问题。如果一定要用boolean类型的话,那自己手动改成标准的getter形式也就好了。