集合流之“将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# IO 操作】C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
代码实现 在C盘添加一个文件夹,并在文件夹内部,新建一个文本文件,如图所示: 该文件夹下,新建一个文本文件,如图所示: 为文件添加完全控制权限: /// <summary> /// 为文件 ...
- C# KeyValuePair<TKey,TValue>的用法
命名空间:System.Collections.Generic 构造函数:public KeyValuePair (TKey key, TValue value); 属性:只读属性 Key ,只读属性 ...
- 范围运算符和索引的最终运算符 ^ 在string 和数组中的应用
//范围运算符在string 和数组中的应用 static void Main(string[] args) { string examplestring = "123456789" ...
- strtok:This function or variable may be unsafe.
https://jingyan.baidu.com/article/49711c616b8a1ffa441b7cdc.html
- petite-vue源码剖析-属性绑定`v-bind`的工作原理
关于指令(directive) 属性绑定.事件绑定和v-modal底层都是通过指令(directive)实现的,那么什么是指令呢?我们一起看看Directive的定义吧. //文件 ./src/dir ...
- BBS项目(二)
目录 BBS项目(二) ORM 创建相关表 表模型 修改admin样式 Simple-UI 注册表添加数据 注册forms类编写 注册功能前端搭建 头像实时显示功能实现 BBS项目(二) 可以在本地写 ...
- VUE-表单验证
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Windows原理深入学习系列-Windows内核提权
这是[信安成长计划]的第 22 篇文章 0x00 目录 0x01 介绍 0x02 替换 Token 0x03 编辑 ACL 0x04 修改 Privileges 0x05 参考文章 继续纠正网上文章中 ...
- Java的jmap命令使用详解
jmap命令简介 jmap(Java Virtual Machine Memory Map)是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具.除此以外,jmap命令还可以查 ...
- 单循环链表(基于c语言)
#include <stdio.h> #include <stdlib.h> #include <assert.h> typedef int LDataType; ...