78得票6回答
Lombok的getter/setter与Java 14记录类型

我喜欢项目Lombok,但最近我在阅读并尝试一些Java 14的新功能。 其中的一个新特性是record关键字,它允许创建一个已经内置以下功能的类:构造函数、私有不可变字段、访问器、equals/hashCode、getter和toString方法。 现在我的问题是:我们是应该依赖Lombok...

72得票3回答
Java记录是否有望最终成为值类型?

JDK 14引入的记录预览功能(JEP 384)是一项伟大的创新。它们使得创建简单的不可变类更加容易,这些类是值的纯集合,没有各种库中泛型元组类固有的上下文丢失。 由Brian Goetz编写的JEP描述(https://openjdk.java.net/jeps/384)很好地解释了其意图...

61得票5回答
Java-14后的getter/setter命名约定

Java 14引入了记录特性。使用该特性,创建的getter方法与字段名相同,例如,可以写print(person.name())。但是旧的Java bean规范要求将此方法命名为getName()。 在同一代码库中同时使用两种风格看起来不太好看。将所有内容迁移到记录中是不可能的,因为它们过...

56得票2回答
为记录定义默认构造函数

我有一个记录并且想要给它添加默认构造函数。public record Record(int recordId) { public Record { } } 但它创建了一个带有int参数的构造函数。 public final class Record extends java....

52得票3回答
你需要为记录类型覆盖hashCode()和equals()方法吗?

假设以下示例:public record SomeRecord(int foo, byte bar, long baz) { } 如果我要将对象添加到HashMap中,我是否需要覆盖hashCode和equals方法?

48得票2回答
是否有使用继承的方法来使用记录(Records)?

我有一堆使用 Lombok 的 @Data 类,现在想将它们全部迁移到 Java 14 中提供的新记录功能。 我知道现在有点早,但这是我正在进行的实验测试。 主要问题涉及继承。我有一个类 B 继承自类 A。有没有办法在记录中使用继承?

40得票2回答
如何记录Java Record参数?

如何记录Java Record参数?我指的是最终成为构造函数参数和类字段的参数。 我尝试过: /** * @param name the name of the animal * @param age the age of the animal */ public record An...

32得票7回答
如何在记录中使用@ConfigurationProperties?

Java 16引入了Records,在编写携带不可变数据的类时,有助于减少样板代码。当我尝试将Record用作@ConfigurationProperties bean时,出现了以下错误消息: @ConfigurationProperties("demo") public record My...

30得票2回答
Java 14中Record文档中“shallowly immutable”的含义是什么?

我正在阅读Records的文档,不理解术语“shallowly immutable”的含义。我们所说的“shallowly immutable”是什么意思?如果它是不可变的,为什么我们需要一个复制构造函数?为什么有两个“Hello Worlds!”? 对于所有记录类,以下不变量必须成立:如果...

28得票3回答
在Java 15记录中,将值设置为其中一个属性

我在我的代码中使用了Java 15预览功能record,并将该record定义如下public record ProductViewModel ( String id, String name, ...