gpt4 book ai didi

java - 不可变类型 : public final fields vs. getter

转载 作者:IT老高 更新时间:2023-10-28 20:27:54 32 4
gpt4 key购买 nike

我需要一个小的容器类来存储一些应该是不可变的字符串。由于 String 本身是不可变的类型,所以我想到了类似的东西:

public final class Immu
{
public final String foo;
public final String bar;

public Immu(final String foo, final String bar)
{
this.foo = foo;
this.bar = bar;
}
}

许多人似乎根本反对使用公共(public)字段,而是使用 Getter。恕我直言,在这种情况下这只是样板,因为 String 本身是不可变的。

我可能在这个问题上遗漏了其他想法?

最佳答案

我会做你认为最简单、最清楚的事情。如果您有一个仅由有限数量的类使用的数据值类。尤其是包本地类。那么我会避免使用 getter/setter 并使用包本地或公共(public)字段。

如果您有一个希望其他模块/开发人员使用的类,从长远来看,遵循 getter/setter 模型可能是一种更安全的方法。

关于java - 不可变类型 : public final fields vs. getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927763/

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