NO.76 代碼優化初步 3.一些代碼優化小技巧

一、用串中搜索變量替換大量變量判斷

以下修改方式將運算減少至2次。

【原始代碼】

if(!(kindCode.equals("050900")||kindCode.equals("050911")||kindCode.equals("050912")||kindCode.equals("050928")||kindCode.equals("050929")||kindCode.equals("050921")||kindCode.equals("050922")||kindCode.equals("050925")||kindCode.equals("050923")||kindCode.equals("050924")||kindCode.equals("050926")))

【優化參考方案】

if(("050900, 050911, 050912, 050928, 050929, 050921, 050922, 050925, 050923, 050924, 050926").indexOf(kindCode)==-1)

 

二、一種複雜度3n變n的拼分隔符優化算法、大量拼串應使用StringBuilder

【原始代碼】

rateCode = "";
for (int j = 0; j < ratecode1.length; j++) {
	if (j == ratecode1.length - 1) {
		rateCode = rateCode + ratecode1[j];
	} else {
		rateCode = rateCode + ratecode1[j] + ",";
	}

}

【優化參考方案】

rateCode = "";
StringBuilder builder = new StringBuilder(128);
for (int j = 0; j < ratecode1.length; j++) {
	builder.append(",").append(ratecode1[j]);
}
rateCode = builder.substring(1);

由於for循環中少一次判斷運算及(ratecode1.length - 1),因此整體複雜度降爲n;關於StringBuilder拼串與String直接接串的性能對比資料可網上搜索,在此不做詳述。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章