1、使用 StringBuffer 拼接字符串
public static void main(String[] args) { // 需要拼接的list List<String> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { list.add("item" + i); } // 定义 StringBuffer sb = new StringBuffer(); for (int j = 0, len = list.size(); j < len; j++) { if (j < len - 1) { sb.append(list.get(j)).append(","); } else { sb.append(list.get(j)); } } // 输出 System.out.println(sb.toString()); }
改用 StringJoiner 后
public static void main(String[] args) { // 需要拼接的list List<String> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { list.add("item" + i); } // 定义 StringJoiner sj = new StringJoiner(","); for (int j = 0, len = list.size(); j < len; j++) { sj.add(list.get(j)); } // 输出 System.out.println(sj.toString()); }
同样输出内容如下:
item0,item1,item2,item3,item4,item5,item6,item7,item8,item9
代码是不是一下就减少了许多了呢
2、StringJoiner 升级使用
通过观察 StringJoiner 的构造函数,我们还可以自定义字符串的前缀、后缀、拼接符,例如:
public static void main(String[] args) { // 需要拼接的list List<String> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { list.add("item" + i); } // 定义 StringJoiner sj = new StringJoiner(",", "【", "】"); for (int j = 0, len = list.size(); j < len; j++) { sj.add(list.get(j)); } // 输出 System.out.println(sj.toString()); }
输出内容如下:
【item0,item1,item2,item3,item4,item5,item6,item7,item8,item9】
在这样的基础上,我们用来拼接 SQL 语句更简单了,例如 IN 条件后