2015-08-14 72 views

回答

6

+=運營商,像+操作,將當其中一個操作數是String而另一個不是時,執行string conversion

+=的代碼將使用字符串轉換爲ichar轉換爲String進行連結到c,一個String

根據JLS, Section 5.2=的代碼不會使用字符串轉換,因爲它不在可分配上下文的可接受轉換列表中。

4

String由於是不可變的,該編譯器實際上轉換到+=

c = c + i; 

其編譯成

c = new StringBuilder().append(c).append(i).toString(); 

StringBuilder具有append重載所有基本數據類型。