• 文库
  • 字符
  • 转换
  • 加密
  • 网络
  • 更多
    图表
    数学
    坐标
    图片
    文件
  • 文库
    字符
    转换
    加密
    网络
    更多
    图表
    数学
    坐标
    图片
    文件
logo 在线工具大全

请谨慎使用 @Builder 注解!

出处: mp.weixin.qq.com 作者: 悟鸣

前一段时间写过一篇 《使用 lombok @Builder 注解,设置默认值时要千万小心!》 的文章,文章提到使用 @Builder 注解将会导致设置的默认值失效问题。 最近读了一篇文章:《Oh !! Stop using @Builder》[1]也颇受启发,发现很多人的确被 @Builder 注解的名字误导了。 大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder 并不是链式编程的最佳实践,它会额外创建内部类,存在继承关系时还需要使用 @SuperBuilder 注解[2],设置默认值时也需要额外的 @Builder.Default 去设置默认值[3],无疑增加了很多不必要的复杂度。 有些同学可能说如果你把这些问题都了解就不会遇到这些坑,没必要“因噎废食”,可是这些问题已经让无数人一次次趟坑,说明它并不是最佳实践,如果有更简便办法可以实现链式编程,又何必徒增这么多复杂度呢? 其实很多人选择使用 @Builder 实现链式编程,无非是它“更常见”和“最熟悉” !

查看原文 45 技术 lddgo 分享于 2023-09-07