【发布时间】:2013-10-15 05:22:56
【问题描述】:
Java 中的字符串被认为是不可变的。 所以如果我说
String one = "myString";
和
String two = "myString";
在内部,两个对象将使用相同的文字。 现在让我感到困惑的是,为什么我应该在不同的类中将我的字符串设为私有,而在内部它们将引用相同的字符串文字。
仅仅是外部元素(如类或对象)不知道该类内部有哪些成员吗?
【问题讨论】:
-
好吧,既然它们是不可变的,那么两个不同对象的两个成员是否指向同一个对象并不重要。但是为了防止任何人通过重新分配一个成员变量来改变你对象的内部状态,这就是你将它设为私有的原因。
标签: java string private immutability public