使用+将新的子字符串添加到String会创建新的String对象。我想用+初始化String时如何工作:
String str = "Hello " + "world";
JVM是否会“照顾”它并仅创建一个String,或者将创建两个将添加到新String中的String?我是说:
String str = new String("Hello") + new String("world");
String str = "Hello word";
以下哪个代码是正确的?
Java管理常量字符串,如下所示:
常量表达式是表示...的字符串,它不会突然完成,并且仅使用以下内容组成:
基本类型的文字和字符串类型的文字
用括号括起来的表达式,其包含的表达式是一个常量表达式。
引用常量变量的简单名称。
TypeName . Identifier
引用常量变量的形式的合格名称。类型为String的常量表达式始终是“ interned”的,以便使用方法共享唯一的实例
String.intern
。
由于String.intern
在将String设为常量之后称为,因此不应将其文字String组件添加到池中。
您可以尝试使用该-XX:+PrintStringTableStatistics JVM
选项来确定程序终止时字符串池的大小。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句