把逗号分隔的String字符串转List<Integer>
- 把逗号分隔的String字符串转int集合
- 集合或数组转变为逗号分隔的字符串的几种方式
- 1、自己编码实现
- 2、org.apache.commons.lang3.StringUtils
- 3、StringJoiner, JDK1.8+
- 4、String.join(), JDK1.8+
- 5、Stream, Collectors.joining(), JDK1.8+
把逗号分隔的String字符串转int集合
代码通过Java 8 Stream实现起来非常容易!
- String ids = "1,2,3,4,5";
- List<Integer> idList = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());
集合或数组转变为逗号分隔的字符串的几种方式
首先,创建一个集合
- List<String> list = Lists.newArrayList(null, "bob", "jack");
1、自己编码实现
- public static <T> String join(List<T> list, String splitStr) {
- if (CollectionUtils.isEmpty(list))
- return "";
- if (list.size() == 1)
- return String.valueOf(list.get(0));
- StringBuilder sb = new StringBuilder();
- boolean isFirst = true;
- for (int i = 0; i < list.size(); i++) {
- if (!isFirst) sb.append(splitStr);
- sb.append(String.valueOf(list.get(i)));
- isFirst = false;
- }
- return sb.toString();
- }
- public static <T> String join(T[] array, String splitStr) {
- if (ArrayUtils.isEmpty(array))
- return "";
- if (array.length == 1)
- return String.valueOf(array[0]);
- StringBuilder sb = new StringBuilder();
- boolean isFirst = true;
- for (int i = 0; i < array.length; i++) {
- if (!isFirst) sb.append(splitStr);
- sb.append(String.valueOf(array[i]));
- isFirst = false;
- }
- return sb.toString();
- }
输出
null,bob,jack
2、org.apache.commons.lang3.StringUtils
- System.out.println(StringUtils.join(list.toArray(), ","));
输出
,bob,jack
3、StringJoiner, JDK1.8+
- StringJoiner sj = new StringJoiner(",");
- list.forEach(e -> sj.add(String.valueOf(e)));
- System.out.println(sj.toString());
- // 在连接之前操作字符串, 拼接前缀和后缀
- StringJoiner sj2 = new StringJoiner(",", "START_", "_END");
- list.forEach(e -> sj2.add(String.valueOf(e)));
- System.out.println(sj2.toString());
输出
null,bob,jack
START_null,bob,jack_END
4、String.join(), JDK1.8+
- System.out.println(String.join(",", list));
输出
null,bob,jack
5、Stream, Collectors.joining(), JDK1.8+
- System.out.println(list.stream().collect(Collectors.joining(",")));
- // 在连接之前操作字符串, 拼接前缀和后缀
- String str = list.stream().map(e -> {
- if (e != null) return e.toUpperCase();
- else return "null";
- }).collect(Collectors.joining(",", "START_", "_END"));
- System.out.println(str);
输出
null,bob,jack
START_null,BOB,JACK_END
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具