String str=new String("a")和String str = "a"有什麼區別?

問:String str=new String("a")和String str = "a"有什麼區別? spa

答:String str = "a"; 這個只是一個引用,內存中若是有「a"的話,str就指向它;若是沒有,才建立它;
  若是你之後還用到"a"這個字符串的話而且是這樣用:
  String str1 = "a"; String str2 = "a"; String str2 = "a"; 這4個變量都共享一個字符串"a"。
  而String str = new String("a");是根據"a"這個String對象再次構造一個String對象,將新構造出來的String對象的引用賦給str。對象

相關文章
相關標籤/搜索