把逗号分隔的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
把逗号分隔的String字符串转List<Integer>的更多相关文章
- java中的BigDecimal和String的相互转换,int和String的类型转换,Integer类和String相互转换
		
一: /*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ 注:BigDecimal在数据库中存的是number类型. import java.math.B ...
 - redis:string字符串类型的操作
		
1. string字符串类型的操作: 1.1. set 设置单个值 语法:set key value [EX seconds] [PX milliseconds] [NX|XX] 注: EX seco ...
 - java String字符串
		
五.java数据类型之String(字符串) CreateTime--2017年7月21日16:17:45 Author:Marydon (一)数据格式 (二)初始化 // 方式一 String ...
 - [LeetCode] 387. First Unique Character in a String 字符串的第一个唯一字符
		
Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...
 - String字符串相关操作
		
.length 字符串长度.equals 比较字符串.equalIgnoreCase 比较字符串不区别大小写.charAt 获取字符串指定下标位置的字符.contains 判断字符串内是否包含某字符串 ...
 - Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0
		
课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值 String str=& ...
 - [CareerCup] 1.3 Permutation String 字符串的排列
		
1.3 Given two strings, write a method to decide if one is a permutation of the other. 这道题给定我们两个字符串,让 ...
 - 03-Java String字符串详解
		
1.Java字符串String A.实例化String字符串:直接赋值(更合理一些,使用较多).使用关键字new. B.String内容的比较 // TODO Auto-generated metho ...
 - C++学习38  string字符串的增删改查
		
C++ 提供的 string 类包含了若干实用的成员函数,大大方便了字符串的增加.删除.更改.查询等操作. 插入字符串 insert() 函数可以在 string 字符串中指定的位置插入另一个字符串, ...
 - C++学习37 string字符串的访问和拼接
		
访问字符串中的字符 string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符.string 字符串的起始下标仍是从 0 开始.请看下面的代码: #include <iostrea ...
 
随机推荐
- 【转载】EXCEL VBA 工作表拆分
			
用VBA拆分工作表是一个不错的方法,特别是在处理大量数据的时候,能节省不少时间. 1.高级筛选: 筛选并复制到新工作表的关键代码如下: Range("Database").Ad ...
 - WCH网络授时芯片CH9126操作指导
			
目前CH9126推荐在Win7操作系统的电脑上执行,暂不推荐在与Win10系统的电脑进行通讯. 一.重要引脚说明 设置及状态相关引脚: 引脚1:RSETE-一个控制CH9126工号的引脚,直接接18K ...
 - 关于Git在Visual studio及Git Bush中的日常操作教程,有图有说明,会一直更新本页内容...  (Git相对SVN具有更加安全的分布式存储, 分支版本之间切换秒级速度, 分支版本强大灵活等特点)
			
>安装命令行和TortoiseGit UI程序. <git bash的安装> https://git-scm.com/downloads <windows可视化工具 Torto ...
 - [R语言] ggplot2入门笔记2—通用教程ggplot2简介
			
文章目录 通用教程简介(Introduction To ggplot2) 2 ggplot2入门笔记2-通用教程ggplot2简介 1. 了解ggplot语法(Understanding the gg ...
 - MQ系列9:高可用架构分析
			
MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 MQ系列5:RocketMQ消息的发送模式 MQ系 ...
 - Hadoop详解(09) - Hadoop新特性
			
Hadoop详解(09) - Hadoop新特性 Hadoop2.x新特性 远程主机之间的文件复制 scp实现两个远程主机之间的文件复制 推 push:scp -r hello.txt root@ha ...
 - yolov8-tensorrt加速
			
仓库(已更新源码): https://github.com/FeiYull/tensorrt-alpha 仓库简介:基于CUDA+TensorRT实现深度学习加速,支持前处理.后处理.推理在GPU上运 ...
 - [数据结构]Dijkstra算法求单源最短路径
			
概念 求带权有向图中某个源点到其余各个顶点的最短路径,最常用的是Dijkstra算法.该算法设置一个集合S记录已求得的最短路径的顶点,可用一个数组s[]来实现,初始化为0,当s[Vi]=1时表示将顶点 ...
 - Object类中wait带参方法和notifyAll方法-线程间通信
			
Object类中wait带参方法和notifyAll方法 void wait (在其他线程调用此对象的notify()方法或notifyAll()方法前,导致当前线程等待.void wait (lo ...
 - layedit 清空 编辑器
			
使用layedit.setContent(index,"") 即可以清除 layui.use('layedit', function(){ var layedit = layui. ...