如果说Java 升级产生的鸡肋功能有哪些,“record标识”绝对算一个。 Record标识是从JDK16正式发布的功能,record标识的主要作用是为标识的类生成 - 全参构造函数 - getter方法 - equals(), hashCode(), toString() 需要注意的是record类为标识类生成的所有字段都是 final 的,无法继承使用 Lombok是一个简化java用户生成bean基础方法的工具,比如构造器,getter setter方法,toString,hashCode,equals等。 Lombok 示例@Data public class User { private String name; private int age; } 什么时候用 Record 替代 Lombok?
Record 不能做的事:public record User(String name) extends BaseEntity {} // 不能继承类 public record User(String name) { private int age; } // 不能添加实例字段 // Record 的字段都是 final,不能有 setter 不是完全不推荐 Lombok而是:
如果你的项目已经升级到 JDK 16+,对于 DTO/VO 这类数据载体类,建议优先使用 Record,代码更简洁且是原生支持。 可以看到record标识确实鸡肋,就是因为它没法生成可继承的类和字段,无法添加实例字段。如果想灵活不如自己编写,如果想全面又不如Lombok好用,如果为了统一代码风格谁会同时用两种编码方式呢? 查看详情:https://www.toutiao.com/article/7582106322963841563 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-12-14 16:19 , Processed in 0.033210 second(s), 17 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.