Java 12 - Java StringBuffer和StringBuilder类
生活随笔
收集整理的這篇文章主要介紹了
Java 12 - Java StringBuffer和StringBuilder类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java StringBuffer和StringBuilder類
當對字符串進行修改的時候,需要使用StringBuffer和StringBuilder類。
和String類不同的是,StringBuffer和StringBuilder類的對象能夠被多次的修改,并且不產生新的未使用對象。
StringBuilder類在Java 5中被提出,它和StringBuffer之間的最大不同在于StringBuilder的方法不是線程安全的(線程安全就是多線程訪問時,采用了加鎖機制,當一個線程訪問該類的某個數據時,進行保護,其他線程不能進行訪問直到該線程讀取完,其他線程才可使用。不會出現數據不一致或者數據污染。線程不安全就是不提供數據訪問保護,有可能出現多個線程先后更改數據造成所得到的數據是臟數據)。
由于StringBuilder相較于StringBuffer有速度優勢,所以多數情況下建議使用StringBuilder類。然而在應用程序要求線程安全的情況下,則必須使用StringBuffer類。
實例
public class Test{public static void main(String args[]){StringBuffer sBuffer = new StringBuffer(" test");sBuffer.append(" String Buffer");System.out.println(sBuffer); } }以上實例編譯運行結果如下:
test String BufferStringBuffer 方法
以下是StringBuffer類支持的主要方法:
| 1 | public StringBuffer append(String s) 將指定的字符串追加到此字符序列。 |
| 2 | public StringBuffer reverse() ?將此字符序列用其反轉形式取代。 |
| 3 | public delete(int start, int end) 移除此序列的子字符串中的字符。 |
| 4 | public insert(int offset, int i) 將?int?參數的字符串表示形式插入此序列中。 |
| 5 | replace(int start, int end, String str) 使用給定?String?中的字符替換此序列的子字符串中的字符。 |
下面的列表里的方法和String類的方法類似:
| 序號 | 方法描述 |
| 1 | int capacity() 返回當前容量。 |
| 2 | char charAt(int index) 返回此序列中指定索引處的?char?值。 |
| 3 | void ensureCapacity(int minimumCapacity) 確保容量至少等于指定的最小值。 |
| 4 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 將字符從此序列復制到目標字符數組?dst。 |
| 5 | int indexOf(String str) 返回第一次出現的指定子字符串在該字符串中的索引。 |
| 6 | int indexOf(String str, int fromIndex) 從指定的索引處開始,返回第一次出現的指定子字符串在該字符串中的索引。 |
| 7 | int lastIndexOf(String str) 返回最右邊出現的指定子字符串在此字符串中的索引。 |
| 8 | int lastIndexOf(String str, int fromIndex) 返回最后一次出現的指定子字符串在此字符串中的索引。 |
| 9 | int length() ?返回長度(字符數)。 |
| 10 | void setCharAt(int index, char ch) 將給定索引處的字符設置為?ch。 |
| 11 | void setLength(int newLength) 設置字符序列的長度。 |
| 12 | CharSequence subSequence(int start, int end) 返回一個新的字符序列,該字符序列是此序列的子序列。 |
| 13 | String substring(int start) 返回一個新的?String,它包含此字符序列當前所包含的字符子序列。 |
| 14 | String substring(int start, int end) 返回一個新的?String,它包含此序列當前所包含的字符子序列。 |
| 15 | String toString() 返回此序列中數據的字符串表示形式。 |
轉載于:https://www.cnblogs.com/alan-blog-TsingHua/p/10080360.html
總結
以上是生活随笔為你收集整理的Java 12 - Java StringBuffer和StringBuilder类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟机VMware 12 Pro激活密钥
- 下一篇: 最忠诚的狗排名(世界上护主人的忠犬排名)