中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

java~lombok里(li)的Builder注(zhu)解

lombok注解在java進(jin)(jin)行(xing)編譯時進(jin)(jin)行(xing)代碼(ma)的(de)(de)(de)構建(jian),對于java對象的(de)(de)(de)創建(jian)工作它可(ke)以更優(you)雅,不(bu)需要寫(xie)多余的(de)(de)(de)重復的(de)(de)(de)代碼(ma),這(zhe)(zhe)對于JAVA開(kai)發人員(yuan)是很重要的(de)(de)(de),在出(chu)現lombok之后,對象的(de)(de)(de)創建(jian)工作更提供Builder方法,它提供在設(she)計數據實體時,對外保(bao)持private setter,而對屬性(xing)的(de)(de)(de)賦值采用Builder的(de)(de)(de)方式,這(zhe)(zhe)種方式最優(you)雅,也(ye)更符合封(feng)裝的(de)(de)(de)原則,不(bu)對外公開(kai)屬性(xing)的(de)(de)(de)寫(xie)操作!

@Builder聲明(ming)實(shi)體(ti),表示可以進行Builder方(fang)式初始(shi)化,@Value注解(jie),表示只公開getter,對所(suo)有屬性的setter都封閉,即private修飾,所(suo)以它(ta)不能和@Builder現(xian)起用(yong)

一般地,我們可以(yi)這樣(yang)設計實體(ti)!

@Builder(toBuilder = true)
@Getter
public class UserInfo {
  private String name;
  private String email;
  @MinMoney(message = "金額不能小于0.")
  @MaxMoney(value = 10, message = "金額不能大于10.")
  private Money price;

}

@Builder注解(jie)賦值新對象

UserInfo userInfo = UserInfo.builder()
        .name("zzl")
        .email("bgood@sina.com")
        .build();

@Builder注(zhu)解修改原對象的屬性值

修(xiu)改實體,要求實體上(shang)添加@Builder(toBuilder=true)

 userInfo = userInfo.toBuilder()
        .name("OK")
        .email("zgood@sina.com")
        .build();

感謝各位的閱讀!

posted @ 2018-05-11 15:31  張占嶺  閱讀(39613)  評論(4)    收藏  舉報