可能一般我們需要將數組里的元素轉為字符串或者將某個集合里的元素提取出來或者轉換需要用到這種拼接,在循環遍歷中每個元素的時候在末尾加入特定的分隔符,
這里我們舉例這個集合為自己創建的數組。
之前我們可能這么寫,拼接完成在最后面多出多余符號:
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<String> strList = Arrays.asList("a", "b", "c"); StringJoiner subStr = new StringJoiner(","); for (String strData : strList){ subStr.add(strData); }
System.out.println(subStr.toString());