zoukankan      html  css  js  c++  java
  • java类中的布尔(boolean&Boolean)类型字段要注意get方法和字段的命名

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

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

    3、字段不要以isxxx命名,在springsimpleformController中获取数据时候不能反射到该属性,存数据时候也会遇到问题。具体问题以后遇到再补充。

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

    class TestClass{
    
        private Boolean daXie;//布尔的包装类
        private boolean xiaoXie;//基本类型-布尔
        //下面是idea自动生成的get/set方法
    
        //布尔包装类Boolean的get方法,是正常的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);

  • 相关阅读:
    jQuery-选择器及属性修改
    jQuery 基础理论
    CSS 之 BFC(块级格式化上下文)
    H5--Web Storage
    H5 -WebWorker
    H5 --拖放
    nodejs Multer中间件
    k8s pod
    kubernetes
    优化CUDA数据传输
  • 原文地址:https://www.cnblogs.com/gongwangwang/p/14174783.html
Copyright © 2011-2022 走看看