主要是有三点:
1. String str=new String("abc");
对于这么简单的一个创建对象的语句,首先要明白一点,该语句创建对象是调用了String的构造方法;这是String特有的构造方法,也就是String s1="abc';可以创建对象。
运用上述语句创建对象的时候,所创建的对象被加入到了字符串常量池里。然后在堆中创建对象并将参数指向常量池中的“abc”。
2.只有使用引号包含文本的方式创建的String对象之间使用“+”连接产生的新对象才会被加入字符串池中
3. 这是一个本地方法。在调用这个方法时,JAVA虚拟机首先检查字符串池中是否已经存在与该对象值相等对象存在,如果有则返回字符串池中对象的引用;如果没有,则先在字符串池中创建一个相同值的String对象,然后再将它的引用返回。
附上链接:
https://zm10.sm-tc.cn/?src=l4uLj8XQ0IiIiNGclYybkdGRmovQj5CMi9CJlpqIwJ2Wm8LO2Zabws7Gy8fJydmMi4bCzA%3D%3D&from=derive&depth=4&link_type=60&wap=false&v=1&uid=2a0c0de6c7c9d2d2aa423c82b57d52dc&hid=dd33c8a24890ebb798dc05a411b928f3&restype=1&uc_param_str=dnntnwvepffrgibijbprsvdsdichei&query=JAVA论坛