java 之 String 对象总结
String 对象创建
String str = "str";
首先在常量池中查找是否已经有 str 存在,如果存在则返回常量池中 str 对象引用,否则在常量池中创建对象 str 并返回引用。
String str = new String("str");
首先在堆中创建对象 str 并返回引用此对象引用,然后在常量池中查找是否有 str 对象存在,如果不存在则在常量池中新建对象 str,如果存在则不做处理。
String str = "s" + "tr";
由于 s , tr 都是常量,在编译时会进行常量折叠生成 str ,即等同于 String str = "str";。