欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

吃点糖不好嘛 甜甜的Lombok

程序员文章站 2022-06-05 15:25:20
...

本文来自 fairjm@iteye 转截请注明出处

 

语法糖虽然没有为语言带来翻天覆地的变化,但是也减少了开发者的痛苦感.
对于java这种更新进度缓慢,语法比较啰嗦的语言,多一点语法糖就可以减少大量的代码.
lombok正是为此而生的项目.
项目地址:https://projectlombok.org/

因为官方文档简单并且详细,可以自行参阅.
这里就聊聊常用的一些.

 

冗长的类型声明

想想scala里的val var,类型声明可以根据赋值推导出来,然而在java里只能老老实实写.
想一想代码里的 StringBuilder sb = new StringBuilder(); 

为什么要打两遍,虽然IDE有自动补全,但整个代码看上去还是会显得很累赘.
lombok提供了valvar(var在experimental中),像用scala一样用吧.
幸福感up

 

 

繁琐的构造器模式代码

你还记得怎么写构造器模式嘛...
想一想 一个静态内部类Builder 一样的field再写一遍.
手写构造器模式等于把之前的代码翻了一倍,而且构造器模式比较常用,写得自己都恶心了.
用lombok只需要@Builder,结束了.

 

POJO

之前都是写好field,右键生成setter,getter,右键equals hashcode,toString.
然后多加一个field,再操作一遍,忘记操作了就多了一个bug.
@Data搞定一切.
如果公司有特殊的命名规定,比如所有的field都要以m开头(Android tutorial).那可以配合@Accessor的prefix属性即可.

就举三个例子,其他自行官方文档即可.

 

糖虽好,但也别贪吃,在使用之前,你需要理解去糖化后的代码是怎样的,不要滥用.

希望java的官方糖更多一点吧,反观C#那么多方便的语法大大减少了开发的痛感.