怎么简化java代码
这篇文章主要介绍“怎么简化java代码”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么简化java代码”文章能帮助大家解决问题。
原理lombok 可以通过注解的方式,在编译的时候为属性生成构造器、getter
/setter
、equals
、hashcode
、toString
方法。这样我们就不用再手动去写这些方法了。
lombok 的使用需要引用 jar 包,可以在官网下载,也可以使用 maven 添加对应依赖。
maven 依赖:
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.20</version><scope>provided</scope></dependency>使用
在类上使用@Data
注解,会为类的所有属性自动生成setter
/getter
、equals
、canEqual
、hashCode
、toString
方法(如为final
属性,则不会为该属性生成setter
方法)。
publicclassDataExample{privatefinalStringname;privateintage;privatedoublescore;privateString[]tags;publicDataExample(Stringname){this.name=name;}publicStringgetName(){returnthis.name;}publicvoidsetAge(intage){this.age=age;}publicintgetAge(){returnthis.age;}publicvoidsetScore(doublescore){this.score=score;}publicdoublegetScore(){returnthis.score;}publicString[]getTags(){returnthis.tags;}publicvoidsetTags(String[]tags){this.tags=tags;}}
上面的代码是一个简单的 pojo 类,当我们使用 lombok 之后:
importlombok.AllArgsConstructor;importlombok.Data;importlombok.EqualsAndHashCode;importlombok.NoArgsConstructor;importlombok.ToString;@DatapublicclassDataExample{privatefinalStringname;privateintage;privatedoublescore;privateString[]tags;}
有没有发现?代码量瞬间减少了一半?其实使用@Data
生成的代码远不止这些,他还生成了equals
、canEqual
、hashCode
、toString
的方法,在 IDE 中可以尝试调用一下就能发现了。
@Data
注解的目标是生成全部需要自动生成的代码,但是有时候我们并不需要完全自动生成,这时候就可以使用单个的修饰符来注解了。
@Data集合了
@ToString
、@EqualsAndHashCode
、@Getter/@Setter
、@RequiredArgsConstructor
的所有特性。换言之,这些注解也可以单个使用,接下来以@Getter
/@Setter
为例来介绍一下上面代码可以化简成什么样子。
importlombok.AllArgsConstructor;importlombok.Data;importlombok.EqualsAndHashCode;importlombok.NoArgsConstructor;importlombok.ToString;publicclassDataExample{@GetterprivatefinalStringname;@Getter@Setterprivateintage;@Getter@Setterprivatedoublescore;@Getter@SetterprivateString[]tags;}
关于“怎么简化java代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。