集合流之“将List<Integer>转为String并用逗号分割”
1、使用【流+Collectors】转换
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.junit.Test; /**
* 功能测试
*
* @author wzw
* @date 2021/7/24
*/
public class wzwTest { /**
* 功能描述: 将List<Integer>转为String并用逗号分割
*
* @author 王子威
* @param null
*/
@Test
public void test() {
// 案例集合
List<Integer> orderList = new ArrayList<>();
orderList.add(1);
orderList.add(2);
orderList.add(3);
orderList.add(4); // 用流将List<String>获取集合中的数,然后用Collectors.joining(“分隔符”)来进行内部分割,达到转String的目的
String subList = orderList.stream().map(String::valueOf).collect(Collectors.joining(",")); // subList = 1,2,3,4
System.out.println("subList = " + subList);
} }
2、使用谷歌的Joiner
import java.util.ArrayList;
import java.util.List;
import com.google.common.base.Joiner;
import org.junit.Test;
import com.bessky.pss.common.util.CommonUtils; /**
* 功能测试
*
* @author wzw
* @date 2021/7/24
*/
public class wzwTest { /**
* 功能描述: 将List<Integer>转为String并用逗号分割
*
* @author 王子威
* @param null
*/
@Test
public void test() {
// 案例集合
List<Integer> orderList = new ArrayList<>();
orderList.add(1);
orderList.add(2);
orderList.add(3);
orderList.add(4); // 使用谷歌的分割方法
String subList = Joiner.on(",").join(orderList);
// 结果:subList = 1,2,3,4
System.out.println("subList = " + subList);
} }
3、使用String.join方法(不用需要CharSequence类型的子类才行,并且需要同类型)
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.junit.Test; /**
* 功能测试
*
* @author wzw
* @date 2021/7/24
*/
public class wzwTest { /**
* 功能描述: 将List<Integer>转为String并用逗号分割
*
* @author 王子威
* @param null
*/
@Test
public void test() {
// 案例集合
List<Integer> orderList = new ArrayList<>();
orderList.add(1);
orderList.add(2);
orderList.add(3);
orderList.add(4); // 用流先将:List<Integer>集合转为List<String>
List<String> collect = orderList.stream().map(String::valueOf).collect(Collectors.toList());
// 使用String.join方法将List<String>转为String,并用逗号分割
String subList = String.join(",", collect); // subList = 1,2,3,4
System.out.println("subList = " + subList);
} }
3、总结
- 第1、3方式类似。最后的本质都是使用StringJoiner类的有参构造
- 我更倾向用1和2。
集合流之“将List<Integer>转为String并用逗号分割”的更多相关文章
- string通过逗号分割不用split方法
package com.simon; import java.util.ArrayList; import java.util.Iterator; import java.util.List; pub ...
- 集合流之"交集(相同)和差集(区别的)"的使用
一.需求 今天做的是将两个字符串转为数组后再转集合,然后利用集合的流stream来进行差集过滤 二.差集代码 差集:将两个集合相同的数据去掉,留下不同的数据 1 @Test 2 public void ...
- java语言中Object转为String的几种形式
在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object.toString(),(String)要转换的对象,St ...
- Object转Integer,String
object先转为字符串,然后通过int 的封装类(Integer)的pasreInt()方法转为int 例如: Object ob = 123; Integer.parseInt(String.v ...
- Integer、String、StringBuffer、StringBuilder
Integer Interger 是int基本数据类型的包装类,在Integer内部封装了一个final int value的属性. 构造方法: Integer类提供了两种构造方法:它们都会返回一个I ...
- Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么?
Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么? Integer.valueof(String s)是将一个包装类是将一个实际 ...
- [C#]List<int>转string[],string[]转为string
// List<int>转string[] public string[] ListInt2StringArray(List<int> input) { return Arra ...
- Integer.parseInt(String s) 和 Integer.valueOf(String s) 的区别
通过查看java.lang.Integer的源码可以发现, 它们最终调用的都是 /** * Parses the string argument as a signed integer in the ...
- java 13-4 Integer和String、int之间的转换,进制转换
1.int类型和String类型的相互转换 A.int -- String 推荐用: public static String valueOf(int i) 返回 int 参数的字符串表示形式. B. ...
随机推荐
- 不知道这10个术语,你还敢说会JavaScript?
每个行业,都有业内"行话",不了解这些行话的人,很难融入到行业中,也永远装不了逼. 从Curry到Closes,有很多JavaScript行话(该领域中使用的特殊词汇)知道这些行话 ...
- oj教程--队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作的 ...
- Qt:QDateTime
0.说明 提供时间日期的表达和相关函数. QDateTime通过日期+时间来构造一个日期时间.它综合了QDate和QTime的所有特性. 它可以通过系统时钟来获取当前DateTime.它还提供了比较时 ...
- C# ProgressBar的简单使用
ProgressBar控件(进度条)用于在win窗体中显示进度,由于它的值会不断更新,为了不让界面假死,一般都是采用多线程的方式对进度条进行管理.有关ProgressBar的理论基础跟详细知识我在这里 ...
- 微信小程序获取手机号
wxml 代码: <!-- 授权 --> <button type="primary" open-type="getUserInfo" bin ...
- centos7下mysql安装
centos7只包含了mariadb的安装源 我们需要到官方下载社区版:https://dev.mysql.com/downloads/ 下载安装包并上传到服务器 安装出现错误 这个是系统自带的Mar ...
- [链表]LeetCode 25 K组一个翻转链表
LeetCode 25 k组一个翻转链表 TITLE 示例 1: 输入:head = [1,2,3,4,5], k = 2 输出:[2,1,4,3,5] 示例 2: 输入:head = [1,2,3, ...
- ArcMap操作练习题目及答案
题目: 1.主观题(20分)用文字说明中学选址的过程,并说明分析过程中所用的空间分析方法和分析工具. 2.主观题(10分)计算目标区内道路网的密度.(数据框1) 3.主观题(20分)对roadnet里 ...
- web note
web note html note 列表 ul 无序列表 ol 有序列表 并且可以通过 type 来定义列表序号的形式 <!DOCTYPE html> <html> < ...
- Docker安装与基本命令
docker安装 Ubuntu 更新apt包索引 sudo apt-get update 更新apt包索引 sudo apt-get upgrade 安装docker sudo apt-get ins ...