首页 > 其他分享 >逗号分隔的字符串与List互转-----字符串与数组互转

逗号分隔的字符串与List互转-----字符串与数组互转

时间:2023-09-14 10:33:04浏览次数:40  
标签:String List 逗号 字符串 数组 互转 StringUtils

1.字符串转数组

使用Java split() 方法

split() 方法根据匹配给定的正则表达式来拆分字符串。

注意: . 、 | 和 * 等转义字符,必须得加 \。多个分隔符,可以用 | 作为连字符。

// 字符串转数组  java.lang.String
String str = "0,1,2,3,4,5";
String[] arr = str.split(","); // 用,分割
System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4, 5]

2.数组转字符串

方法一: 遍历

String[] arr = { "0", "1", "2", "3", "4", "5" };
// 遍历
StringBuffer str5 = new StringBuffer();
for (String s : arr) {
    str5.append(s);
}
System.out.println(str5.toString()); // 012345

方法二: 使用StringUtils的join方法

//数组转字符串 org.apache.commons.lang3.StringUtils
String str3 = StringUtils.join(arr); // 数组转字符串,其实使用的也是遍历
System.out.println(str3); // 012345
String str4 = StringUtils.join(arr, ","); // 数组转字符串(逗号分隔)(推荐)
System.out.println(str4); // 0,1,2,3,4,5

方法三: 使用ArrayUtils的toString方法

// 数组转字符串 org.apache.commons.lang3.ArrayUtils
String str2 = ArrayUtils.toString(arr, ","); // 数组转字符串(逗号分隔,首尾加大括号)
System.out.println(str2); // {0,1,2,3,4,5}

3.将逗号分隔的字符串转换为List

// 将逗号分隔的字符串转换为List
String str = "a,b,c";
// 1.使用JDK,逗号分隔的字符串-->数组-->list
List<String> result = Arrays.asList(str.split(","));
// 2.使用Apache Commons的StringUtils
List<String> result1 = Arrays.asList(StringUtils.split(str, ","));
// 3.通过遍历
String[] strings = str.split(",");
List<String> result2 = new ArrayList<String>();
for (String string : strings) {
    result2.add(string);
}

4.将List转换为逗号分隔的字符串

// 将List转换为逗号分隔的字符串
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
// 1.使用Apache Commons的StringUtils
String str1 = StringUtils.join(list.toArray(), ",");
// 2.通过遍历
StringBuffer str2 = new StringBuffer();
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
    String string = (String) iterator.next();
    str2.append(string);
    if(iterator.hasNext()){
        str2.append(","); 
    }
}

标签:String,List,逗号,字符串,数组,互转,StringUtils
From: https://www.cnblogs.com/doubleflower/p/17701825.html

相关文章

  • LocalDate、LocalDateTime的用法与String互转
    一、LocalDate常用用法1.1、申明定义LocalDateformatDate=LocalDate.of(2020,2,5);//自定义LocalDatetoday=LocalDate.now();//获取当前日期1.2、getX()获取年月日等注意:获取月份使用getMonthValue()System.out.println(formatDate.getMonth());//FEBRUAR......
  • 三行代码规范提取字符串
       能够从一大堆字符中规范提取字符串是python语言中的基本技能之一。尤其是在使用python爬取网页数据时,规范提取字符串技术直接决定爬取数据的成败和效率。这里给大家分享一个仅用三行代码提取网址数据的方法。   以下是数据源"<divstyle='display:none'><ahref='........
  • ArrayList和LinkedList的区别
    1.顾名思义,前者底层数据结构采用数组结构,通过索引来实现快速随机访问元素;而后者采用双向链表结构,每个元素都包含一个指向前一个元素和后一个元素的引用,所以插入,删除元素效率很高。2.时间复杂度不同,前者为O1,为常量复杂度,执行一次,后者为On,从头部或尾部开始执行N次。3.前者占用的空......
  • Python list replication All In One
    PythonlistreplicationAllInOneerrorForthereferencevaluelist,usingthelist*numberdoesnotworkasyouexpected.#referencevaluelistletter_lists=[['A','B']]number_lists=[[1,2]]strs=letter_lists*2nums=n......
  • restTemplate接收返回对象中的数据为list是集合被转为对象问题处理
    接收的对象resultModel是服务者接口自定义的返回对象,包含msg,code,以及一个泛型对象data用于存放接口返回的数据。 当消费者通过restTemplate,postObject调用时,data需要通过map封装一下需要返回的数据,然后将map填充到data。若map中出现了集合数据,当集合数据只有一条时,会出现集合......
  • C# JSON字符串转带头(声明)XML字符串
     privatestringConverXml(stringmemberId,intcode,stringmsg)    {      varresp=new{authenticate=new{member_id=memberId,status_code=code,message=msg}};      varjsonstr=JsonConvert.SerializeObject(re......
  • 异常:java.lang.ClassNotFoundException: org.apache.commons.collections.map.ListOr
    使用JSON,在SERVLET或者STRUTS的ACTION中取得数据时如果会出现异常:Java.lang.NoClassDefFoundError:net/sf/ezmorph/Morpher原因是少了JAR包,造成类找不到还必须有其它几个依赖包:commons-logging-1.0.4.jarcommons-lang-2.3.jarcommons-collections-3.2.jarcommons-beanutils-1......
  • String、StringBuffer和StringBuilder的区别,ArrayList和linkedList的区别,HashMap和Has
    一、String、StringBuffer和StringBuilder的区别1.1相关介绍String是只读字符串,并不是基本数据类型,而是一个对象。从底层源码来看是一个final修饰的字符数组,所引用的字符串不能改变,一经定义无法再增删改。每次对String操作都会生成新的String对象。所以对于经常改变内容的字符串最......
  • hutool依赖,复制list<a>的相同属性给list<b>,判断传入值是否为空等
      依赖传入<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.11</version></dependency>   以下是将list<User>与list<UserVO>相同属性名的属性值,从list<User>......
  • linux shell 字符串变量 有双引号和无双引号的区别
     001、[root@pc1test02]#lsa.shb.sh[root@pc1test02]#cata.sh##测试程序1#!/bin/bashstr1="ab_cd_ef"tmp1=$(echo$str1|sed's/_/\n/g')echo$tmp1[root@pc1test02]#catb.sh##测试程序2#!/bin/bashstr1="ab_......