Java 字串演算法常用方法(持續更新)

來源:互聯網
上載者:User

標籤:art   命名   指定位置   span   off   原來   變數   一個   tostring   

String,StringBuilder,StringBuffer

Java中的String,StringBuilder,StringBuffer三者的區別

1. 在運行速度上:StringBuilder > StringBuffer > String
原因:String 為字串常量,而StringBuilder和StringBuffer是字串變數,即String對象建立之後該對象是不可更改的,但後兩者的對象是變數,是可以更改的。例如:

String str = "abc";System.out.println(str);Str = str + "de";System.out.println(str);

在第三行中,str好像是被修改了,其實不然,JVM在第三行又建立了一個新的對象也命名為str,然後把原來對象的str的值和"de"加起來賦給新的str,而原來的str就會被JVM記憶體回收機制給回收掉,所以這裡的str實際上並沒有被更改。

2. 線上程安全上,StringBuilder是線程不安全的,而StringBuffer是安全執行緒的
如果一個StringBuffer對象在字串緩衝區被多個線程使用時,StringBuffer中很多方法可以帶有synchronized關鍵詞,所以可以保證線程的安全,但是StringBuilder的方法則沒有該關鍵詞,所以不能保證安全執行緒。所以如果使用多線程則使用StringBuffer,但在單線程中建議使用StringBuilder速度更快些。

 

StringBuilder的常用方法:
1. 建立一個StringBuilder對象: StringBuilder str = new StringBuilder();
                StringBuilder str = new StringBuilder(string);
2. append:字串的串連 str.append("aaa");
3. toString:str.toString();
4. setCharAt(int I, char c):第i位置替換成c
5. Insert(int I, string str):在指定位置插入字元或字串
6. delete(int start, int end):刪除起始位置(含)到結束位置(不含)之間的字串
7. Replace(int start, int end, string str):從start到end用str代替

StringBuffer的常用方法:
? 添加功能 
  public StringBuffer append(String str):可以把任意類型資料添加到字串緩衝區裡面,並返回字串緩衝區本身
  public StringBuffer insert(int offset,String str):在指定位置把任意類型的資料插入到字串緩衝區裡面,並返回字串緩衝區本身
? 刪除功能 
  public StringBuffer deleteCharAt(int index):刪除指定位置的字元,並返回本身
  public StringBuffer delete(int start,int end):刪除從指定位置開始指定位置結束的內容,並返回本身
? 替換功能 
  public StringBuffer replace(int start,int end,String str):從start開始到end用str替換
? 反轉功能 
  public StringBuffer reverse()
? 截取功能 
  public String substring(int start)
  public String substring(int start,int end)

 

Java 字串演算法常用方法(持續更新)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.