注意:此爲自己以前保留的知識點 ,溫習+1
package com.itheima.demo;
/**
當對字符串進行修改的時候,需要使用 StringBuffer 和 StringBuilder 類。
和 String 類不同的是,StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,並且不產生新的未使用對象。
StringBuilder 類在 Java 5 中被提出,它和 StringBuffer 之間的最大不同在於 StringBuilder 的方法不是線程安全的(不能同步訪問)。
由於 StringBuilder 相較於 StringBuffer 有速度優勢,所以多數情況下建議使用 StringBuilder 類。然而在應用程序要求線程安全的情況下,則必須使用 StringBuffer 類。
*
*
StringBuffer 方法
以下是 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 中的字符替換此序列的子字符串中的字符。
*
*
*
Java 中 StringBuffer 和 String 是有一定的區別的,
首先,String 是被 final 修飾的,他的長度是不可變的,就算調用 String 的 concat 方法,那也是把字符串拼接起來並重新創建一個對象,把拼接後的 String 的值賦給新創建的對象
,而 StringBuffer 的長度是可變的,調用StringBuffer 的 append 方法,來改變 StringBuffer 的長度,
並且,相比較於 StringBuffer,String 一旦發生長度變化,是非常耗費內存的!
最簡單的回答是,stringbuffer 基本沒有適用場景,你應該在所有的情況下選擇使用 stringbuiler,除非你真的遇到了一個需要線程安全的場景,如果遇到了,請務必在這裏留言通知我。
*
*
*/
public class StringBufferStringBuilder {
}