lombok Guava

今天下午看到一篇关于JDK1.8排序的文章 采用lambda表达式通过一系列1.8提供的链式调用来进行 作者在提供测试用例的实体类的时候用到了一种叫做lombok的注解形式 既视感是这样的

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User{
    private String name;
    private Integer age;
    private Integer credits;
}
去查了相关的资料 @Data提供所有属性的getter和setter方法 此外还提供equals、hashcode、toString等方法,@AllArgsConstructor @NoArgsConstructor分别提供全参的构造方法和无参的构造方法,原理是编译器修改抽象语法树(AST)后生成字节码。哇,发现是多么好的工具啊,能把代码简化这么多 这样的神器为什么之前不知道呢,这让我不禁产生怀疑 这其中肯定是有什么弊端 我们都知道现在成熟的IDE都提供自动生成这些方法的功能,虽然用了lombok可以让我们的代码看上去简洁 但是也让我们的代码变得难以维护。但是我还是去尝试得去用了,不仅要导入架包还需要为IDE装插件 为项目手动开启Annotation Processing 繁琐。更大的弊端是代码对我们是不可见的。为IDE装一堆插件也容易导致崩溃。 论坛有因为用了lombok的原因 而导致需要花费数小时重新编译全部文件的例子。能够简单的操作 绝对不要复杂。

 还接触到了Guava工具类 包含了若干被Google的java项目广泛依赖的核心库 例如:集合[Collections]、缓存[caching]、原生类型支持[primitives support]、并发库[concurrency libraries]、通用注解[common annotations]、字符串处理[string processing]、I/O等等 所有的工具每天都在被Google的工程师应用在产品服务中。

 与goodle guava的类似的工具类还有Apache commons 。其中的源码是很好的学习工具。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值