• 把逗号分隔的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实现起来非常容易!

  1. String ids = "1,2,3,4,5";
  2. List<Integer> idList = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());

集合或数组转变为逗号分隔的字符串的几种方式

首先,创建一个集合

  1. List<String> list = Lists.newArrayList(null, "bob", "jack");

1、自己编码实现

  1. public static <T> String join(List<T> list, String splitStr) {
  2. if (CollectionUtils.isEmpty(list))
  3. return "";
  4. if (list.size() == 1)
  5. return String.valueOf(list.get(0));
  6. StringBuilder sb = new StringBuilder();
  7. boolean isFirst = true;
  8. for (int i = 0; i < list.size(); i++) {
  9. if (!isFirst) sb.append(splitStr);
  10. sb.append(String.valueOf(list.get(i)));
  11. isFirst = false;
  12. }
  13. return sb.toString();
  14. }
  15. public static <T> String join(T[] array, String splitStr) {
  16. if (ArrayUtils.isEmpty(array))
  17. return "";
  18. if (array.length == 1)
  19. return String.valueOf(array[0]);
  20. StringBuilder sb = new StringBuilder();
  21. boolean isFirst = true;
  22. for (int i = 0; i < array.length; i++) {
  23. if (!isFirst) sb.append(splitStr);
  24. sb.append(String.valueOf(array[i]));
  25. isFirst = false;
  26. }
  27. return sb.toString();
  28. }

输出

null,bob,jack

2、org.apache.commons.lang3.StringUtils

  1. System.out.println(StringUtils.join(list.toArray(), ","));

输出

,bob,jack

3、StringJoiner, JDK1.8+

  1. StringJoiner sj = new StringJoiner(",");
  2. list.forEach(e -> sj.add(String.valueOf(e)));
  3. System.out.println(sj.toString());
  4. // 在连接之前操作字符串, 拼接前缀和后缀
  5. StringJoiner sj2 = new StringJoiner(",", "START_", "_END");
  6. list.forEach(e -> sj2.add(String.valueOf(e)));
  7. System.out.println(sj2.toString());

输出

null,bob,jack
START_null,bob,jack_END

4、String.join(), JDK1.8+

  1. System.out.println(String.join(",", list));

输出

null,bob,jack

5、Stream, Collectors.joining(), JDK1.8+

  1. System.out.println(list.stream().collect(Collectors.joining(",")));
  2. // 在连接之前操作字符串, 拼接前缀和后缀
  3. String str = list.stream().map(e -> {
  4. if (e != null) return e.toUpperCase();
  5. else return "null";
  6. }).collect(Collectors.joining(",", "START_", "_END"));
  7. System.out.println(str);

输出

null,bob,jack
START_null,BOB,JACK_END

最新文章

  1. jquery checkbox的相关操作——全选、反选、获得所有选中的checkbox
  2. EDIUS中调整YUV曲线的教程
  3. PYTHON实现HTTP基本认证(BASIC AUTHENTICATION)
  4. 使用sslsplit嗅探tls/ssl连接
  5. hdu5438(2015长春赛区网络赛1002)拓扑序+DFS
  6. 【转】DBA需要的技能
  7. 快速记忆JavaScript中exec和match的使用
  8. mysql--外键(froeign key)
  9. http://localhost:8080/ 演出Oracle说明
  10. could not resolve property问题(ssh框架)
  11. QQGame防专线中断系统介绍
  12. 【Android】用Cubism 2制作自己的Live2D——官方App样例源码学习(1)!
  13. delegate异步
  14. 获得最近一天的提交,并使用winscp上传到服务器
  15. Wannafly挑战赛25游记
  16. react 生命周期函数
  17. UVa 12627 Erratic Expansion - 分治
  18. thinkphp 查询单个“年-月-日” FROM_UNIXTIME
  19. 17-[模块]-time&amp;datetime
  20. Java循环语句之 do...while

热门文章

  1. netkit-telnet源码编译安装
  2. python之路36 MySQL查询关键字
  3. pip19.2.3升级到20.3.3版本升级失败问题
  4. prettier+ts+eslint+vscode配置代码保存自动格式化,自动remove unsed declaration,delete no-unused-imports
  5. VUE Angular通用动态列表组件-亦可为自动轮播组件-01-根据数据量自动纵向滚动,鼠标划入停止滚动
  6. 线上代码已变更,客户没有刷新浏览器,导致点击菜单后找不到相对路由js文件无法加载XXX路由,解决办法如下
  7. Python3+Selenium3自动化测试-(九)
  8. 一文详解如何在基于webpack5的react项目中使用svg
  9. 【分析笔记】Linux tasklet 机制的理解
  10. 2.2.vue用法在uniapp中的使用_