布尔类型(boolean/Boolean)自动生成的get方法需要注意的小细节

本文探讨了在IDEA中为布尔类型的属性自动生成get/set方法时的区别:Boolean类型使用get开头,而boolean基本类型则使用is开头。并提出了在涉及反射调用时的最佳实践。

idea会自动生成get/set方法的,
对于布尔类型,要非常注意生成的get方法,到底是is开头还是get开头.

先说结论:
1.Boolean类型,生成的get方法是get开头的(建议使用这个).
2.boolean类型,生成的get方法是is开头的(用这个最好重写getXxx()格式的方法).

以下这个例子,可以验证这个区别:

class TestClass{

    private Boolean daXie;//布尔的包装类
    private boolean xiaoXie;//基本类型-布尔
    //下面是idea自动生成的get/set方法

    //布尔包装类Booleanget方法,是正常的get开头的
    public Boolean getDaXie() {
       return daXie;
    }

    public void setDaXie(Boolean daXie) {
        this.daXie = daXie;
    }

    //请注意这里,基本类型boolean下自动生成的get方法,是is开头的
    public boolean isXiaoXie() {
        return xiaoXie;
    }

    public void setXiaoXie(boolean xiaoXie) {
        this.xiaoXie = xiaoXie;
    }
}

从上面的例子可以看出,小写的boolean基本类型作为类的属性时,自动生成的get方法,是is开头的,这样在平时的使用中是无伤大雅的,但考虑到如果这个对象涉及到反射,反射一般会默认调取对象的get方法,对于这个is的情况,是走不通的.

总结:
用到布尔值的属性时,最好统一使用大写的包装类Boolean.
如果用小写的booean基本类型,最好重写get方法,保证是getXxxx的格式即可.

扩展:
一般用到反射的地方有:
1.泛化调用(具体了解可参考dubbo框架)
2.BeanUtils.copyPropertits(a,b);

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值