java类属性命名规范问题小计

项目用到一个类 选取几个代表性的属性如下:

class demo{
    private Float bOrigin;
    private Float b2Origin;
    private Float borigin;
}

在为该类以Generate方式生成get/set方法时,出现了下列有意思的现象:

    public Float getbOriginal() {
        return bOriginal;
    }

    public void setbOriginal(Float bOriginal) {
        this.bOriginal = bOriginal;
    }

    public Float getB2Original() {
        return b2Original;
    }

    public void setB2Original(Float b2Original) {
        this.b2Original = b2Original;
    }

    public Float getBoriginal() {
        return boriginal;
    }

    public void setBoriginal(Float boriginal) {
        this.boriginal = boriginal;
    }

这里细心的人就可以发现,编译器自带的自动生成方法有些需要注意的点:
1,正常的属性全为小写,生成方法会将首字母变为大写
2,当属性首字母小写第二个字母大写时,生成方法不会改变首字母
3,当第二个字符为数字,生成方法仍会将首字母变为大写

这种细微差别或许你觉得影响不大,但对于一些特定场景下,比如数据导出到excel时,在获取数据这一步,由于get/set方法的名称格式不同(如get方法首字母不为大写)会导致数据无法获取到。

另外,JSP里面的值获取方式${entity.property} 若get/set方法名与Generate自动生成的方法名不同,这里括号内的属性名property应写为get方法名去掉get后的字符串。

这些细节性错误完全是可以通过规范命名进行避免,一旦发生就很难想到这一层,在此标记一下提醒自己。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭