java字符串拼接中,使用+ 號和append的效率

jdk環境: 1.8

方法: 使用javap -c 進行反彙編,來查看編譯器內部的工作。瞭解對象的創建過程。

在一條語句中使用+號:

 

由上圖可知,相當於字符串拼接被java轉換成了, new StringBuilder().append( a ).append("bc"); 這和使用StringBuilder中的append來添加字符串沒什麼區別

 

在多條語句中使用+號:

   由上圖可知,在第一條拼接語句中,像第一次一樣,也是 new StringBuilder(),然後進行append。但是另起一條語句,使用+號進行拼接時,又重新new了一個StringBuilder對象進行拼接。如果多次這樣操作,肯定會創建大量無用的StringBuilder對象。

結論:

  1.  在一條語句中使用+號 和 直接使用append的效果是一樣的
  2. 在多條語句中使用+號,會創建大量無用的StringBuilder對象,此時應該使用append來拼接字符串

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章