1.每一个运行的JVM底层都存在一个字符串的对象池(Object Pool)。
2.当采用直接赋值的方式创建字符串时,会自动将字符串添加到字符串池中,并供其他String对象使用直接赋值方式时引用
例子:
String str1 = “hello”;
String str2 = “hello”;
String str3 = “hello”;
str1 = str2; //true
str1 = str3;//true
str2 = str3;//true
拓展:
当使用构造函数方式创建字符串时,可使用intern()方法,将字符串放入字符串池中,供其他字符串对象使用
String str4 = new String(“hello”).intern();
网友评论