【发布时间】:2013-10-24 14:42:09
【问题描述】:
我们可以访问没有任何引用的字符串池中的对象吗? 这是代码:
String str ="abc";
str.toUpperCase();
System.out.println(str); // System.out.println(str.toUpperCase());
Output : abc
我在这里对str 执行toUpperCase() 操作。在字符串池中,将为此str.toUpperCase(); 创建一个对象。我们可以访问这个对象吗?如果是怎么办?
【问题讨论】:
-
什么语言?在Java中你必须使用返回值
str=str.toUpperCase();这与字符串池无关。 -
嗨 holger,非常感谢.. 甚至这一行 'System.out.println(str.toUpperCase());'代码将给出预期的结果。但我的问题是内存'str.toUpperCase();//它包含结果“ABC”'中的这一行发生了什么......我们能否在不分配任何变量且不使用system.out的情况下访问此结果。 println() 语句。
-
如果您不使用返回值,该对象将变为无法访问。垃圾收集器将在下一个 gc 循环中释放其内存。