Java字串效能優化

2021-09-23 23:00:29 字數 905 閱讀 1100

1、字串連線,使用stringbuilder替代「+」號

2、拆分字串,使用apache

common包的stringuitls類的split()方法替代string類的split()方法,根據分隔符將字串拆分成字串陣列

建議:使用apache common包的stringuitls類的split()方法拆分字串。

禁止: string類的split()方法。

原因:string類的split()方法接受的分隔符為正規表示式,用正規表示式匹配效率比較低。而apache common包的stringuitls類的split()方法接受的分隔符為普通字串,使用字串查詢匹配效率較高。

正確示例:

stringuitls.split(「a||b||c」, 「||」)
3、盡量使用基本型別和string常量,避免建立基本型別包裝物件和string物件

建議:使用基本型別和string常量

杜絕:盡量避免建立基本型別包裝物件和string物件

原因:雖然包裝型別和基本型別在使用過程中是可以相互轉換,但它們兩者所產生的記憶體區域是完全不同的。基本型別資料產生和處理都在棧中處理,包裝型別是物件,是在堆中產生例項。

string常量在jvm採用常量池,**中不同地方出現的相同string常量實際上是同乙個物件;而每次建立string物件都是在堆中產生乙個新的例項。

注:實際程式設計中,經常存在基本型別和包裝型別的轉換,如果無法避免和使用基本型別代替,則需要儘量減少轉換的次數。

正確示例:

string str =「aaaa」

unity效能優化 字串操作 一

一 避免額外的裝箱操作 二 重複修改或合併大量字串時,最好使用stringbulider類1.由於字串是在堆上連續分配的引用型別,所以在修改字串的時候,實際上是在堆上分配了新的空間,並修改儲存在變數中的位址,而原本的字串會在記憶體之中占用,等待下一次的清理,在大量操作的時候,會造成極大的浪費.2.並...

C 字串操作 效能優化細節

c 效能優化細節 1 使用string.empty給乙個空字串變數賦初始值 2 使用str.length 0做空串比較 3 避免不必要的字串toupper tolower類操作 4 巧用stringbuilder進行字串拼接操作 5 建立stringbuilder應指定初始大小 6 避免濫用stri...

java字串排序

一 如果要排序的為字串,如 string sortstr acdfe char arraych sortstr tochararray 1,把sortstr轉換為字元陣列 arrays.sort arraych 2,利用陣列幫助類自動排序 system.out.println arrays.tost...