国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java中的String、StringBuilder、StringBuffer

2019-11-15 00:03:02
字體:
來源:轉載
供稿:網友
java中的String、StringBuilder、StringBuffer Posted on 2015-05-05 00:14 專注、堅持 閱讀(...) 評論(...) 編輯 收藏

Java中的String是個永恒的話題,直說我想說的。

1、String 是永遠不會變的,傳遞的引用是一個Copy,無論刮風下雨,它都在自己的小窩里呆的好好的。

2、重載“+”和StringBuilder

  連接字符串可以通過“+”,也可以通過StringBuilder中的append();有時候為了偷懶就直接 用“+”,但是糾結心,總在覺得是不是會影響性能。先對此進行說明:

通過jvm反應的字節碼,當我們使用“+”實現連接字符串時,JVM會自動對其進行優化工作,引入StringBuilder進行連接字符串。所以對于簡單的字符串連接,可以依靠JVM直接使用“+”進行連接字符串,但這個盡限于簡單的拼接(當然難的你也可以用,只是。。。你懂的),對于復雜的字符串拼接,尤其是涉及到有循環的,建議使用StringBuilder,因為在循環中是“+”,在JVM進行實現的時候,會重復的創建StringBuilder對象。StringBuilder可以是使代碼簡短,簡單,而且只會生成一個StringBuilder對象,而且還允許你預先指定大小(如果你已經大概知道最終的字符串的長度,預先指定大小,可以避免對此重新分配緩沖區)。

3、StringBuilder和StringBuffer

  StringBuffer是線程安全的,因此開銷大些,如果不是涉及到線程安全問題,建議使用StringBuilder,因為它更高效;

!!!要盡量杜絕使用append(a+","+c);因為這個JVM會再為你創建一個StringBuilder對象處理括號內的字符串的拼接工作。

下邊提供一個StingBuilder的簡單使用例子

import java.util.Random;public class TestStringBuilder {public static Random rand = new Random();public String toString(){StringBuilder result = new StringBuilder("[");for (int i = 0; i < 25; i++) {result.append(rand.nextInt(100));result.append(", ");}//去除最后的逗號和空格result.delete(result.length()-2, result.length());result.append("]");return result.toString() ;}public static void main(String[] args) {TestStringBuilder ts = new TestStringBuilder();    System.out.PRintln(ts);}}

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浮梁县| 肇源县| 黔江区| 田林县| 高要市| 桦川县| 通州市| 成安县| 榆树市| 山东省| 沐川县| 大邑县| 凤山县| 曲周县| 太保市| 定州市| 柞水县| 贡觉县| 承德市| 水富县| 山东省| 霍林郭勒市| 库车县| 堆龙德庆县| 阜新| 泰兴市| 南宁市| 通渭县| 佛教| 阳曲县| 舒兰市| 扶风县| 南川市| 扬州市| 岑巩县| 长春市| 慈利县| 辉县市| 荣昌县| 抚州市| 长春市|