String的初始化
阿新 • • 發佈:2018-11-10
- 需要知道 String a = "abd"; 和String b = new String();的區別。
要明確每次只要new一次堆記憶體就會開闢一個新的記憶體地址。
可以使用intern()方法手動將new出來的物件丟到字串常量池中。
public class StringDemo { public static void main(String[] args) { String str = "Hello"; str = str + "World"; str += "!!!"; System.out.println(str); } }
public static void main(String[] args) { String stra = "hello" ; String strb = "hello" ; String strc = "hello" ; System.out.println(stra == strb);//true System.out.println(stra == strc);//true System.out.println(strb == strc);//true } }
String e = "123"; String f = new String("123").intern(); System.out.println(e==f); //true 手動入池 入池前檢查字串池裡已經有123 直接將引用指向裡面已經有的常量