gpt4 book ai didi

java - 制作不可变的 Java 对象

转载 作者:IT老高 更新时间:2023-10-28 13:53:04 24 4
gpt4 key购买 nike

我的目标是使 Java 对象不可变。我有一个类(class)学生。我用以下方式对其进行编码以实现不变性:

public final class Student {

private String name;
private String age;

public Student(String name, String age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public String getAge() {
return age;
}

}

我的问题是,Student 类实现不变性的最佳方法是什么?

最佳答案

严格来说,你的类不是不可变的,它只是实际上是不可变的。要使其不可变,您需要使用 final:

private final String name;
private final String age;

尽管差异可能看起来很微妙,it can make a significant difference in a multi-threaded context .不可变类本质上是线程安全的,有效的不可变类只有在安全发布时才是线程安全的。

关于java - 制作不可变的 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18194139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com