可能一般我們需要将數組裡的元素轉為字元串或者将某個集合裡的元素提取出來或者轉換需要用到這種拼接,在循環周遊中每個元素的時候在末尾加入特定的分隔符,
這裡我們舉例這個集合為自己建立的數組。
之前我們可能這麼寫,拼接完成在最後面多出多餘符号:
String strTableData = "";
for (int i = 0; i < 5; i++){
strTableData += i + ",";
}
z這樣列印出來的結果可能是這樣的:
0,1,2,3,4,
會發現在循環周遊的時候後邊多出了一個分隔符,我們這時候可能在周遊後邊取截取字元串:
if (StringUtils.isNotBlank(str))
strTableData = strTableData.substring(0, strTableData.length() - 1);
進而最終得到我們想要的結果
0,1,2,3,4
s雖然這種方法一點毛病都沒有,但是有沒有比這個代碼更少,執行起來更快的方法了?
1.在循環裡邊加判斷
String strTableData = "";
for (int i = 0; i < 5; i++){
if (StringUtils.isNotBlank(strTableData))
strTableData += ",";
strTableData += i;
}
2.根據循環次數
3.jdk8 StringJoiner
List strList = Arrays.asList("a", "b", "c");
StringJoiner subStr = new StringJoiner(",");
for (String strData : strList){
subStr.add(strData);
}
System.out.println(subStr.toString());
3.springBuilder或springBuffer