lombok get/set 与 JavaBean get/set

lombok get/set 与 JavaBean get/set

javaBean get/set 命名规范

一般JavaBean属性对应的 get/set 方法,是get/set 加上属性名首字母大写。

private String courseId;
public String getCourseId() {
    return courseId;
}
public void setCourseId(String courseId) {
    this.courseId = courseId;
}

但是仍有例外

1.属性名第一个字母小写,第二个字母大写。

private String cId;
public String getcId() {
    return cId;
}
public void setcId(String cId) {
    this.cId = cId;
}

2.属性名第一个字母为大写。

private String Url;
public String getUrl() {
    return Url;
}
public void setUrl(String url) {
    Url = url;
}

3.属性名以is 开头,并且属性类型为boolean

private boolean isOk;
public boolean isOk() {
    return isOk;
}
public void setOk(boolean ok) {
    isOk = ok;
}

lombok 与 javaBean 命名规范 特殊情况对比

// lombok 自动生产 get/set
@Getter
@Setter
public class Demo1 {
    private String cId;
    private String URL;
    private boolean isSuccess;
}
// JavaBean get/set 
public class Demo2 {
    private String cId;
    private String URL;
    private boolean isSuccess;

    public String getcId() {
        return cId;
    }

    public void setcId(String cId) {
        this.cId = cId;
    }

    public String getURL() {
        return URL;
    }

    public void setURL(String URL) {
        this.URL = URL;
    }

    public boolean isSuccess() {
        return isSuccess;
    }

    public void setSuccess(boolean success) {
        isSuccess = success;
    }
}
// lombok
Demo1 demo1 = new Demo1();
//JavaBean
Demo2 demo2 = new Demo2();

// 属性名第一个字母小写,第二个字母大写
// JavaBean get/set 后部分, 属性名大小写不变
// lombok  get/set 后部分,属性名首字母大写
demo1.setCId("");
demo2.setcId(""); 
demo1.getCId();
demo2.getcId();

demo1.setURL("");
demo2.setURL("");
demo1.getURL();
demo2.getURL();

demo1.setSuccess(true);
demo2.setSuccess(true);
demo1.isSuccess();
demo2.isSuccess();

总结

总结发现三种特殊情况下,如果使用 lombok 自动生成 get/set 时,第一种情况会导致生成get/set 不符合 JavaBean get/set 规范。此时会导致 json序列化,反射等情况,获取数据失败的情况发生。

使用 lombok 减少代码冗余的时候,请注意代码的规范。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 迟早被淘汰~ 2016年12月8日 惠州 六点起床,七点三十到了别墅门口。 没办法,别墅打井八点进门,想要提前进,...
    laiyuchao阅读 166评论 0 0
  • 《衰》 断烟衰草繁华落; 斜日折枝悲秋泪。
    自命飞皇Yoes阅读 145评论 0 1
  • 七月乌托邦阅读 208评论 0 1