Lombok中的@Builder注解怎么用
导读:本文共1777.5字符,通常情况下阅读需要6分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: Lombok中的@Builder注解的使用作用@Builder注解的作用主要是用来生成对象,并且可以为对象链式赋值。引入依赖因为@Builder注解是lombok中的东西,所以第一步我们需要引入lombok的依赖,如下图:第二步给实体类加上@Builder注解第二步我们需要给我们的实体类加上一个@Builder注解,如下图:第三步使用测试使用@Builder注解... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。Lombok中的@Builder注解的使用
作用
@Builder注解的作用主要是用来生成对象,并且可以为对象链式赋值。
引入依赖
因为@Builder注解是lombok中的东西,所以第一步我们需要引入lombok的依赖,如下图:
第二步给实体类加上@Builder注解
第二步我们需要给我们的实体类加上一个@Builder注解,如下图:
第三步使用测试使用@Builder注解生成对象
实体类加上@Builder注解之后的编译结果
实体类加上@Builder注解之后,编译之后会多出一个builder()方法,和一个CardBuilder静态内部类,如下图:
代码如下:
publicclassCard{privateintid;privateStringname;privatebooleansex;publicstaticCard.CardBuilderbuilder(){returnnewCard.CardBuilder();}publicCard(intid,Stringname,booleansex){this.id=id;this.name=name;this.sex=sex;}publicCard(){}publicintgetId(){returnthis.id;}publicStringgetName(){returnthis.name;}publicbooleanisSex(){returnthis.sex;}publicvoidsetId(intid){this.id=id;}publicvoidsetName(Stringname){this.name=name;}publicvoidsetSex(booleansex){this.sex=sex;}publicbooleanequals(Objecto){if(o==this){returntrue;}elseif(!(oinstanceofCard)){returnfalse;}else{Cardother=(Card)o;if(!other.canEqual(this)){returnfalse;}elseif(this.getId()!=other.getId()){returnfalse;}else{Objectthis$name=this.getName();Objectother$name=other.getName();if(this$name==null){if(other$name==null){returnthis.isSex()==other.isSex();}}elseif(this$name.equals(other$name)){returnthis.isSex()==other.isSex();}returnfalse;}}}protectedbooleancanEqual(Objectother){returnotherinstanceofCard;}publicinthashCode(){intPRIME=true;intresult=1;intresult=result*59+this.getId();Object$name=this.getName();result=result*59+($name==null?43:$name.hashCode());result=result*59+(this.isSex()?79:97);returnresult;}publicStringtoString(){return"Card(id="+this.getId()+",name="+this.getName()+",sex="+this.isSex()+")";}publicstaticclassCardBuilder{privateintid;privateStringname;privatebooleansex;CardBuilder(){}publicCard.CardBuilderid(intid){this.id=id;returnthis;}publicCard.CardBuildername(Stringname){this.name=name;returnthis;}publicCard.CardBuildersex(booleansex){this.sex=sex;returnthis;}publicCardbuild(){returnnewCard(this.id,this.name,this.sex);}publicStringtoString(){return"Card.CardBuilder(id="+this.id+",name="+this.name+",sex="+this.sex+")";}}}
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
Lombok中的@Builder注解怎么用的详细内容,希望对您有所帮助,信息来源于网络。