吃点糖不好嘛 甜甜的Lombok
本文来自 fairjm@iteye 转截请注明出处
语法糖虽然没有为语言带来翻天覆地的变化,但是也减少了开发者的痛苦感.
对于java这种更新进度缓慢,语法比较啰嗦的语言,多一点语法糖就可以减少大量的代码.
lombok正是为此而生的项目.
项目地址:https://projectlombok.org/
因为官方文档简单并且详细,可以自行参阅.
这里就聊聊常用的一些.
冗长的类型声明
想想scala里的val
var
,类型声明可以根据赋值推导出来,然而在java里只能老老实实写.
想一想代码里的 StringBuilder sb = new StringBuilder();
为什么要打两遍,虽然IDE有自动补全,但整个代码看上去还是会显得很累赘.
lombok提供了val
和var
(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#那么多方便的语法大大减少了开发的痛感.