lombok 自动使用_Lombok,自动值和不可变项

lombok 自动使用

我喜欢布兰登(Brandon )在博客文章中比较Project LombokAutoValueImmutables建议 ,而这篇文章试图做到这一点。 我已经简要概述了Project LombokAutoValueImmutables ,但是这篇文章有所不同,因为它突出了它们之间的异同。

Lombok, AutoValue和Immutables有很多相同之处,我尝试用以下单个描述性句子总结这些相似之处:Lombok,AutoValue和Immutables使用注释处理为值对象类所使用的常见操作生成样板代码。 本文的其余部分将更详细地探讨这些相似之处,并对比这三种方法。

代码生成

Lombok,AutoValue和Immutables均旨在从简洁的代码表示形式生成详细的样板代码,这些代码表示形式专注于高级业务逻辑,而将实现的低级细节留给代码生成。 常见的对象方法,例如toString()equals(Object)hashCode()很重要,但需要正确编写。 容易犯这些错误,即使最初正确地编写了这些错误(包括通过IDE生成),但在对类产生影响的其他更改时也可以忽略它们。

价值对象

LombokAutoValueImmutables均支持生成“ 值对象” 。 尽管AutoValue严格执行值对象的生成,但如果指定了@Modifiable ,则Immutables允许生成的对象是可修改的,并且Lombok在其生成的类中使用@Set@Data等批注支持多级修改。

超越价值对象

AutoValue专注于值对象的生成,并基于模板类中的抽象方法,支持字段,构造函数/生成器,具体访问器方法的生成以及常见方法equals(Object)hashCode()toString()的实现。

Immutables提供的功能类似于AutoValue提供的功能,并添加了使用@ Value.Modifiable生成可修改类的功能 。 不可变对象还提供其他功能 ,包括:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值