【发布时间】:2019-12-05 02:54:37
【问题描述】:
考虑以下代码。
String s = "Hello";
s = "Good Bye";
s = "Hello";
我了解代码的前两行为字符串对象“Hello”和“Good Bye”分配 RAM。但是,第三行是为另一个“Hello”创建第三个 RAM 位置还是 s 引用了第一个“Hello”的位置?
【问题讨论】:
-
@maytham-ɯɐɥʇʎɐɯ 错了,
s在第一行代码和第三行代码之后指的是同一个对象,因为两个"Hello"字符串都指的是从类的常量池。