集合流之“将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. ...
随机推荐
- 【基础概念】匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置
转载地址 https://www.cnblogs.com/murongxiaopifu/p/4419040.html 0x00 前言: 匹夫在日常和别人交流的时候,常常会发现一旦讨论涉及到" ...
- POJ2749 题解
题目大意:有若干牛圈和两个连接起来的的中转点S1,S2.每个牛圈需要选择其中一个中转点与之连接,从而使任意两个牛圈能够连通.有若干对牛圈里的牛互相hate或是互相like.若两个牛圈里的牛互相hate ...
- Qt:自动为class的所有属性生成getter、setter
在类所在的.h文件中,右键类名,Refactor → Create Getter and Setter
- omnet++:官方文档翻译总结(四)
学习翻译自:Adding Statistics Collection - OMNeT++ Technical Articles Part 5 - Adding Statistics Collectio ...
- SQL Server--插入一天数据返回ID值
这里将该功能写成了一个存储过程, 本来只写Insert的话,返回1,即影响的行数,该数据没太大应用意义. 想在Insert的基础上,返回新添加的这条数据的ID,两种方法: 1 .添加第17行的Sele ...
- Hive数仓
分层设计 ODS(Operational Data Store):数据运营层 "面向主题的"数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经过抽取.洗净. ...
- elasticsearch通用工具类
这几天写了一个关于es的工具类,主要封装了业务中常用es的常用方法. 本文中使用到的elasticsearch版本6.7,但实际上也支持es7.x以上版本,因为主要是对springboot提供的:El ...
- 2022年官网下安装GIT最全版与官网查阅方法
目录 安装部署Git 1.百度搜索git,双击进入. 2.进入主页,双击如图位置. 3.进入下载列表,双击下载. 4.找到本地文件位置,双击安装,弹出界面,选择next 5.进入安装路径位置,修改路径 ...
- php模式的设计
工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式. 工厂模式有一个关键的构造,根据一般原则命名为Factory的静态方法,然而这只是一种原则,虽然工厂方法可以任意命名这个静态 ...
- laravel 框架 知识点
get 方法返回一个包含 Illuminate\Support\Collection 实例的结果,其中每一条记录都是 PHP stdClass 对象的一个实例.你可以通过对象属性的方式来获取每个字段的 ...