【发布时间】:2012-06-25 13:06:17
【问题描述】:
Java 中的任何字符串字面量都是String 类型的常量对象,并存储在字符串字面量池中。
作为参数传递给方法的 String 文字是否也会存储在 String 文字池中?
比如我们写的时候,
System.out.println("Hello");
或
anyobj.show("Hello");
会创建 String "Hello" 并将其存储在 String 文字池中吗?
有没有办法打印字符串字面量池的内容?
【问题讨论】:
-
作为参数传递的字符串文字也是字符串文字,所以:是的。为什么它们会有所不同?这一切都发生在创建字符串时。以后会发生什么(你用它做什么)并不重要。
-
您可以使用
javap命令打印出.class 的符号表中的所有字符串文字。它将列出代码中使用的字符串文字。