有没有办法在我们自己的程序中访问String常量池的内容?
假设我有一些基本代码可以做到这一点:
String str1 = "foo";
String str2 = "bar";
Run Code Online (Sandbox Code Playgroud)
现在我们的String常量池中有两个字符串浮动.有没有办法访问池并打印出上述值或获取池中当前包含的当前元素总数?
即
StringConstantPool pool = new StringConstantPool();
System.out.println(pool.getSize()); // etc
Run Code Online (Sandbox Code Playgroud)
anu*_*ava 10
你无法直接访问String intern pool.
按照Javadocs String intern pool:
最初为空的字符串池由String类私有维护.
但是,可以使用String的intern()方法将String对象添加到此池中.
java.lang.String.intern()返回一个interned String,即在全局String池中有一个条目的String.如果String不在全局字符串池中,则将添加它.
以编程方式,您可以遵循此方法:
Set<String> StringConstantPool = new HashSet<String>();String.intern()String值添加到此池中StringConstantPool| 归档时间: |
|
| 查看次数: |
1764 次 |
| 最近记录: |