public class User{
private String name;
private Long id;
private String address;
}
添加一个 @Data 注解,项目在编译器编译时通过操作 AST (抽象语法树) 来自动生成 getter/setter 、toString 、hashCode 等方法,利用这一特性,甚至可以像 JavaScript 一样不用显式声明变量类型:
val list = new ArrayList();
list.add(new User());
这样的代码最终会被编译成:
final ArrayList list = new ArrayList();
list.add(new User());
等等还有很多其他的语法糖,像 @Cleanup、@Builder 等都是简化代码的能手,我这里只是随便的举两个例子。
因为这些代码都是编译之后才有的,所以开发者如果需要在 Java 代码中调用某一个对象的 get 方法(或者其他自动生成的方法),还需要引入一些开发工具的插件,才可以解决这个问题,这个我就不细说了,大伙有兴趣可以自行搜索了解下。
事情就是这么个事情,工具就是这么个工具,那么开发中到底用不用呢?
用还是不用?
支持使用 Lombok 的小伙伴,主要是觉得:
•使用了 Lombok 之后,代码干净整洁•开发人员的工作量大大降低•在一些刚立项的项目中,Bean 反复变化,要不停的修改了代码,要是有了 Lombok ,就不必这么麻烦了•这是先进生产力的代表,不会用的都是太菜
反对 Lombok 的小伙伴当然也有自己的看法:
•这是歪门邪道,扰乱人的思路•调试不便•开发工具本来就可以一键生成•一个第三方插件不应该改变 JAVA 语法
如果你在论坛上搜一下对于这个插件的看法,感觉世界大战都快要爆发了!
你的意见
那么今天松哥来做一个简单的问卷,你是否支持在你的项目中使用 Lombok?
关注牧码小子,后台回复 Java ,领取松哥为你精心准备的Java干货!
往期文章一览
最后
毕竟工作也这么久了 ,除了途虎一轮,也七七八八面试了不少大厂,像阿里、饿了么、美团、滴滴这些面试过程就不一一写在这篇文章上了。我会整理一份详细的面试过程及大家想知道的一些问题细节
美团面试经验
字节面试经验
菜鸟面试经验
蚂蚁金服面试经验
唯品会面试经验
因篇幅有限,图文无法详细发出
蚂蚁金服面试经验
[外链图片转存中…(img-85rNHwaN-1714314465717)]
唯品会面试经验
[外链图片转存中…(img-R3TAaotR-1714314465717)]
因篇幅有限,图文无法详细发出