一:避免額外的裝箱操作
二:重複修改或合併大量字串時,最好使用stringbulider類1.由於字串是在堆上連續分配的引用型別,所以在修改字串的時候,實際上是在堆上分配了新的空間,並修改儲存在變數中的位址,而原本的字串會在記憶體之中占用,等待下一次的清理,在大量操作的時候,會造成極大的浪費.
2.並且,在大量合併時,每一次"+"操作,都會進行一次堆分配,並且一次只合併兩個字串,在大量合併時,會產生十分巨大的記憶體浪費.
3.這個時候就需要使用stringbulider類了.
雖然stringbuilder類無法支援string類的多種方法,不過對字串的修改都會在自身分配的記憶體塊中,能夠大大提公升效率.
常用方法:
void
example2()
啊", name)
;//追加特定格式的字串
mybulider.
insert(2
,".");
//在指定位置插入子字串
mybulider.
remove(2
,6);
//移除,輸入起始位置和刪除的元素數量
mybulider.
replace
("."
,"!");
//替換
mybulider.
tostring()
;//轉化為字串,stringbuilder型別無法強制轉換為string型別,只能使用此方法
Java字串效能優化
1 字串連線,使用stringbuilder替代 號 2 拆分字串,使用apache common包的stringuitls類的split 方法替代string類的split 方法,根據分隔符將字串拆分成字串陣列 建議 使用apache common包的stringuitls類的split 方法拆分...
C 字串操作 效能優化細節
c 效能優化細節 1 使用string.empty給乙個空字串變數賦初始值 2 使用str.length 0做空串比較 3 避免不必要的字串toupper tolower類操作 4 巧用stringbuilder進行字串拼接操作 5 建立stringbuilder應指定初始大小 6 避免濫用stri...
字串操作效能
在開發中遇到過以下情況 在網頁的後台 中,需要根據獲取的資料集來生成客戶端html 程式中用了大量類似 str 的 當資料集中的資料量比較小時,網頁開啟的速度沒有太大影響。但是,當資料集中的記錄達到500 甚至1000 的時候,開啟網頁需要幾十秒。string 物件是不可改變的。每次使用 syste...