首页 > 编程语言 >java list转字符串常用方法

java list转字符串常用方法

时间:2023-11-21 20:03:23浏览次数:26  
标签:java String Collectors list 分隔符 字符串 join joining

使用标准 toString() 方法

List.toString()是最简单的,但它在开头和结尾添加方括号,每个字符串用逗号分隔符分隔。

缺点是我们不能用另一个分隔符替换逗号,也不能去掉方括号。

public static void main(String[] args) {
        // creating a list with strings.
        List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five");

        // converting List<String> to String using toString() method
        String stringFromList = list.toString();

        // priting the string
        System.out.println("String : "+stringFromList);
    }

java list转字符串常用方法_String

Java 8 String.join()

java 8 String添加了一个特殊的方法String.join()以将集合转换为具有给定分隔符的字符串。

public static void main(String[] args) {
        // creating a list with strings.
        List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five");

        // converting List<String> to String using toString() method
        String stringFromList = String.join("~", list);

        // priting the string
        System.out.println("String with tilde delimiter: "+stringFromList);

        // delimiting with pipe | symbol.
        String stringPipe = String.join("|", list);

        // printing
        System.out.println("String with pipe delimiter : "+stringPipe);
    }

java list转字符串常用方法_java_02

Collectors.joining()

Collectors.join()方法来自 java 8 stream api。Collctors.joining()方法将分隔符、前缀和后缀作为参数。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。
查看以下有关使用不同分隔符的 join() 方法的示例。但是,String.join() 方法不提供前缀和后缀选项。
如果您需要自定义分隔符、前缀和后缀,请使用这些。如果您不想要前缀和后缀,则提供空字符串以不在结果字符串前后添加任何内容。

public static void main(String[] args) {
        // creating a list with strings.
        List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five");

        // using java 8 Collectors.joining with delimiter, prefix and suffix
        String joiningString = list.stream().collect(Collectors.joining("-", "{", "}"));

        // printing
        System.out.println("Collectors.joining string : "+joiningString);

        String joiningString3 = list.stream().collect(Collectors.joining("@", "", ""));

        // printing
        System.out.println("Collectors.joining string with @ separator : "+joiningString3);
    }

java list转字符串常用方法_java_03

Apache Commons StringUtils.join()

最后的方法是使用来自 apache commons 包的外部库。该库有一个方法StringUtils.join() ,它采用类似于 String.join() 方法的列表和分隔符。

public static void main(String[] args) {
        // creating a list with strings.
        List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five");

        // using java 8 Collectors.joining with delimiter, prefix and suffix
        String joiningString = StringUtils.join(list, "^");

        // printing
        System.out.println("StringUtils.join string with ^ delimiter : "+joiningString);

        String joiningString3 = StringUtils.join(list, "$");

        // printing
        System.out.println("StringUtils.join string with @ separator : "+joiningString3);
    }

java list转字符串常用方法_String_04


标签:java,String,Collectors,list,分隔符,字符串,join,joining
From: https://blog.51cto.com/u_14355911/8505969

相关文章

  • Java字符串分割[split()]和截取[substring()]
    字符串的分割:一般自字符串的分割常用的方法是java.lang包中的String.split()方法,返回是一个字符串数组。语法:publicString[]split(Stringregex,intlimit)参数:regex -- 正则表达式分隔符。limit --分割的份数。比如:需要分割字符串中的每个字符(空格也会被看做字符),split()中......
  • 有趣的Java之@Autowired属性注入问题
    ......
  • Java方法
    01:什么是方法 Java方法是语句的集合,它们在一起执行一个功能。 02:方法的定义和调用方法的定义Java的方法类似于其它语言的函数,是-段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:方法包含一个方法头和一个方法体。下面是一个方法的所有部分:修......
  • Java:泛型和通配符的区别
    一开始我学习通配符的时候,我觉得这个和泛型T不都一样吗?都是表示未确定的类型,有何区别举一个下面的例子:@Testpublicvoiddemo1(){List<Object>list=null;List<String>listString=newArrayList<>();List<Double>listDouble=n......
  • java读取.properties文件,通过key获取value
    1.将xx.properties文件放置在src/main/resources/config目录下(config是自己建的目录)2.通过ApplicationHome类获取target路径ApplicationHomeapplicationHome=newApplicationHome(this.getClass());Stringpath=applicationHome.getSource().getParent();3.拼......
  • LeetCode-Java:88合并两个有序数组
    题目:给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1......
  • Netty - ChannelGroup 和 ArrayList 的区别
    一、Netty-ChannelGroup和ArrayList有什么区别?我正在使用Netty4.x,我想知道以下:ChannelGroup和ArrayList之间有什么区别?ChannelGroupchannels=newDefaultChannelGroup(GlobalEventExecutor.INSTANCE);和ArrayList<Channel>channels=newArrayList<>();二、......
  • Java Junit5 使用小结
    在我们的日常开发中,代码一边编码一边自测是常有的事,做好单元测试也是一名开发应该掌握的技能,不说测试搞得多么强,至少会基本的,会功能测试,会性能测试。今天来学习下单元测试。1.JUnit5介绍现在主要版本是JUnit5,所以后面的内容也都是基于JUnit5做相关的介绍。JUnit5是JUnit......
  • JAVA树形结构查询
    1. 2. setDeep查询几层,不固定默认查询全部层 ......
  • 【JAVA基础】事务管理
    @Transactional注解的属性介绍@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class)......