【发布时间】:2013-08-23 10:11:49
【问题描述】:
好主意:
"".intern();
在启动时的企业应用程序中(一次,就像在第一个 servlet 初始化中一样?)所以所有具有空字符串值的后续字符串都是相同的引用?
更进一步,在 50-80 个字符串上调用实习生会有显着的收益,我们知道这些字符串将在此应用程序中大量使用(从数据库或资源文件加载 - 我们知道只有少数字符串可以自定义,但一次为安装定制,很少更改)?
【问题讨论】:
-
你为什么不用
String.Empty? -
您的 Styring 在哪个包装中?还是java 7? java 6 找不到 String.Empty * 其他常用的字符串呢 - 对它们调用实习生是一种习惯吗? @jeroen-vannevel
-
字符串常量已经被实习了,所以你至少不需要为那些调用
intern()。 -
将字符串定义为常量应该更容易(public static final String ....)
-
有些来自数据库 - 用户可以更改,但一个特定的表不会有太大变化