java String運算符+反編譯

String + 運算符重載
這裏寫圖片描述
如上圖:String 字符相加源碼

這裏寫圖片描述

javap -c 反編譯後發現 sql = sql + “aa”; 反編譯成new StringBuilder(“”).append(“aa”).toString();

java底層已經自動做了運算符重載

但並不推薦使用String + 的運算符重載
eg:
這裏寫圖片描述
String + 運算符重載的時候每次都會在內存中開闢StringBuilder對象的空間,不僅耗時,而且耗費內存,所以建議以後字符拼接時用StringBuilder() ,StringBuffer()裏面有線程安全鎖,所以比較慢一些。

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