1. 使用 String.join 函數(shù)
List<String> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
String listStr = String.join(",", list);
System.out.println(listStr);
執(zhí)行結(jié)果:
0,1,2,3,4,5,6,7,8,9
2. 使用 StringUtils.join 函數(shù)
String listStr = org.apache.commons.lang3.StringUtils.join(list, ",");
System.out.println(listStr);
執(zhí)行結(jié)果:
0,1,2,3,4,5,6,7,8,9
注意:
StringUtils.join 函數(shù)中,第一個參數(shù)是需要連接的字符串或列表,第二個參數(shù)是指定連接的字符。
該函數(shù)可以同時連接多個字符串,如下所示:
String listStr = org.apache.commons.lang3.StringUtils.join(list, ",");
String condition = org.apache.commons.lang3.StringUtils.join("(", listStr, ")");
System.out.println(condition);
執(zhí)行結(jié)果:
(0,1,2,3,4,5,6,7,8,9)
3. 使用 Collectors.joining 函數(shù)
對 list 列表,希望拼接 list 里面對象的部分字段,可以使用這個函數(shù),如下圖所示:
List<Devices> devicesList = devicesService.findDeviceByResultId(resultId);
String deviceModels = devicesList.stream().map(Devices::getModel).collect(Collectors.joining("、"));
這里是將 list 中的 Devices 對象的 model 屬性用 、 連接起來。