使用java.lang.Record类删除样板代码

Java中的Record类在Java14中引入,旨在消除样板代码,如构造函数、访问器和equals()等。Record是不可变的,自动实现构造、访问器、equals()、hashCode()和toString()。尽管简化了编码,但也可能掩盖一些细节,程序员需注意不变性的限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        样板是一个源自钢铁制造业的术语,其中形成模具以铸造类似的物体。在编程世界中,样板代码是代码的一部分,项目里面使用的地方很多,但是通常创建完成之后就很少或者就不会更改了。在Java中,不可变的数据载体类用于与数据库,Web服务进行通信,会创建许多样板代码,其中包括构造函数,访问器,equals(),hashCode()和toString()等。

        下面的代码就是一个比较典型的类。

         java.lang.Record类是在 Java 14 中作为一种特殊类型的类引入,其目的是消除样板代码。记录类是使用关键字 record 创建的,并由 new 关键字实例化,就像在 Java 中创建任何其他对象一样。

        record类是默认的最终类,它隐式扩展java.lang.Record类,不能继承任何其他类。但是,您可以实现接口并实现关联的方法。

         record类自动实现下列内容:

        包含所有字段的规范构造函数

        字段的访问器(而不是记录中的 getName(),我们可以使用 name()访问它)

        equals()和 hashCode()

        toString()

        需要注意的一点是,记录中不会有任何 setter 方法,因为所有记录类都是不可变的,您无法修改它们。您可以使用记录中的小快捷方式覆盖记录中的规范构造函数,称为“紧凑构造函数”,我们不需要提及参数,record将处理它。

        Java record可以帮助从项目中删除大量样板代码,这样不易出错。

        Java语言一直在演变,开发语言是给人类使用的,从这个角度讲,这样简化的演变是好事。但是所有事物可能都不止两面性,提供便利的同时一定会掩盖细节。而有些细节被掩盖是无所谓的,而有些会带来坑,编程时需要时刻提醒自己。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐望云起

如果觉得有用,请不吝打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值