我想知道,在 Java 中我们如何创建一个常量对象(但不是引用也不是不可变的,因为不可变性是一个类的所有对象的一个特性)?
首先:
final MyClass c = new MyClass();
创建对非常量对象的常量引用,因此我可以这样做:
c.setData(100);
第二:
String 类是一个所有实例都应该是常量的类(又名不可变对象(immutable对象))。我需要一种可以从常量对象和非常量对象创建的类型。
换句话说,如何将常量赋予一个类的某些对象,并将其从其他对象中移除。 (无需将此对象包装在任何包装器中)。
最佳答案
我想您想要类似于 C++ 中的 const
关键字的东西,它使本来可变的类的实例不可变。但是,在 Java 中不存在与此直接等效的内容。
如果您控制该类,您可以定义一个只公开 getter 的接口(interface),并在您需要“const”引用时使用该接口(interface)——这不需要任何包装,但如果您需要这样做会相当麻烦这适用于很多类(class)。
关于java - 在 Java 中创建常量对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408871/