Java String转String[]字符串数组,String[]转List集合,List集合转String,char[]字符数组转String_string转string数组-程序员宅基地

技术标签: Java  java  

一、String转String[]字符串数组

  • 方法:String.split();
  • split():根据匹配给定的正则表达式来拆分字符串,返回字符串数组(String[]);
  • 注意:特殊字符的处理需要进行转义处理,如:"." 、""、"|";
  • 示例:
	 String str = "1,2,3,4,5";
     String[] split = str.split(",");
     System.out.println("String[] 数组长度是:" + split.length);
     for (String split1 : split) {
    
         System.out.println(split1);
     }
  • 结果:
    在这里插入图片描述

二、String[]转List集合

方式一

  • 方法:Arrays.asList();
  • 示例:
	String[] str1 = {
    "1","2","3","4","5"};
    List<String> oldList = Arrays.asList(str1);
    List<String> newList = new ArrayList<>(oldList);
    System.out.println("list 集合长度是:" + newList.size());
    System.out.println(newList);
  • 结果:
    在这里插入图片描述

方式二

  • 方法:CollUtil.newArrayList(T… values)或者CollUtil.newLinkedList(T… values)
  • 注:这是hutool提供的工具类
  • 示例:
  		String[] col= new String[]{
    "a","b","c","d","e"};
        List<String> colList = CollUtil.newArrayList(col);
        System.out.print("list中的元素为:");
        colList.forEach(item->{
    
            System.out.print( item+",");
        });
        System.out.println("");
        System.out.println("-------------------------分割线-----------------------------");
        System.out.print("list->add()操作:");
        colList.add("我是新增f");
        colList.forEach(item->{
    
            System.out.print( item+",");
        });
        System.out.println("");
        System.out.println("-------------------------分割线-----------------------------");
        System.out.print("list->remove()操作:");
        colList.remove("a");
        colList.forEach(item->{
    
            System.out.print( item+",");
        });
        System.out.println("");
        });
  • 从运行结果中可以看出,CollUtil.newArrayList返回的list可以直接进行addremove操作,运行结果:
    在这里插入图片描述

三、List转String

方式一

  • 方法:Convert.toStr(Object value)
  • 注:这是hutool提供的工具类
  • 示例:
	List<String> list = new ArrayList<>();
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    String s = Convert.toStr(list);
    System.out.println(s);
  • 结果:
    在这里插入图片描述

方式二

  • 方法:来自Java8中的String.join(String, IEnumerable< T>)
  • 示例:
  /*
   方法二:来自 Java8
   参数一:指定每个成员之间的分隔符
   参数二:目标List对象
    */
   String join = String.join(",", list);
   System.out.println(join);

方法三

  • 方法:遍历List,使用Stringbuild/StringBuffer进行拼接,然后转String
  • 示例:
   List<String> list = new ArrayList<>();
   list.add("a");
   list.add("b");
   list.add("c");
   list.add("d");
   StringBuilder sb = new StringBuilder();
   for (int i = 0; i < list.size(); i++) {
    
       if (i == list.size()-1){
    
           sb.append(list.get(i));
       }else{
    
           sb.append(list.get(i)).append(",");
       }
   }
   String string = sb.toString();
   System.out.println(string);

四、List转String[]集合

  • 方法:list.toArray(T[] a);
  • 示例:
  	List<String> list1 = new ArrayList<>(2);
    list1.add("a");
    list1.add("b");
    String[] array = list1.toArray(new String[0]);
    System.out.println(array);
  • 结果:
    在这里插入图片描述
  • 注意使用 toArray 带参方法,数组空间大小length的取值说明:
    1. 等于 0(new String[0]),动态创建与 size 相同的数组,性能最好
    2. 大于 0 但小于 size,重新创建大小等于 size 的数组,增加 GC 负担。 11/44 Java 开发手册
    3. 等于 size(new String[list1.size()]),在高并发情况下,数组创建完成之后,size 正在变大的情况下,负面影响与上相同。
    4. 大于 size,空间浪费,且在 size 处插入 null 值,存在 NPE 隐患。

五、char[]字符数组转String

  • 方法:String.valueOf(char data[]);
  • 示例:
	char[] charArr ={
    'a','b','c','d'};
    String s = String.valueOf(charArr);
    System.out.println("结果:"+s);
  • 结果:
    在这里插入图片描述

六、String字符串转char[]字符数组

  • 方法:String.toCharArray()
  • 示例:
 	String str3 =  "abcd";
    char[] chars = str3.toCharArray();
    System.out.println(chars);
  • 结果:
    在这里插入图片描述
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhuzicc/article/details/106192910

智能推荐

MAME打开ROM报错解决办法_mame bios and devices sets-程序员宅基地

文章浏览阅读6.1k次。MAME打开ROM红屏报错的解决办法_mame bios and devices sets

什么是CAP理论? cp ap原则的含义-程序员宅基地

文章浏览阅读1.2k次。什么是CAP理论?CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾CAP分别是什么?一致性(Consistency) (所有节点在同一时间具有相同的数据)可用性(Availability) (保证每个请求不管成功或者失败都有响应)分区容错性(Partition tolerance) (系统中任意信息的丢失或_cp ap

Linux Kernel 2.4.x / 2.6.x uselib() Local Privilege Escalation Exploit-程序员宅基地

文章浏览阅读195次。/** pwned.c - linux 2.4 and 2.6 sys_uselib local root exploit. PRIVATE.* it's not the best one, the ldt approach is definitively better.* discovered may 2004. no longer private beca..._linux 2.4 挖洞

C/C++ —— 十六进制类型字符串的转换_c++ 16进制转字符串-程序员宅基地

文章浏览阅读9.5k次,点赞2次,收藏4次。在实际工作中,字符串和其它数据类型的转换是很常见的,库函数有很多,比如 atoi , strtol , sscanf 等,这些函数网上有很多资料,我经常用到的就是十六进制的数值以字符串的形式传输,然后又要解析,这里记录一下我这边的做法:将2个字节的十六进制的字符串转成short int 2个字节的整形数据:_c++ 16进制转字符串

Kafka实战:从RDBMS到Hadoop,七步实现实时传输-程序员宅基地

文章浏览阅读4.8k次。对于那些想要把数据快速摄取到Hadoop中的企业来讲,Kafka是一个很好的选择。Kafka是什么?Kafka是一个分布式、可伸缩、可信赖的消息传递系统,利用发布-订阅模型来集成应用程序/数据流。同时,Kafka还是Hadoop技术堆栈中的关键组件,能够很好地支持实时数据分析或者货币化的物联网数据。

SharedPreferencesUtils_sharedpreferencesutils 爆红-程序员宅基地

文章浏览阅读216次。package com.goodfamily.gps.polling_and_maintenance.util;import java.util.Set;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Context;import andr_sharedpreferencesutils 爆红

随便推点

spring开启注解的三种方式-程序员宅基地

文章浏览阅读1.2w次。本章使用c3p0做演示 方法一,编辑试事务开启事务核心类 DataSourceTransactionManager,不管是哪一种方式都需要创建该对象,该方式需要记住的类 TransactionTemplate, 其实很好记,使用spring操作数据库创建jdbcTemplate ,使用spring开启事务创建TransactionTemplatepublic class Transact_spring开启注解的三种方式

这份字节跳动历年校招Java面试真题解析,年薪50W_前端校招面试真题解析大全-程序员宅基地

文章浏览阅读174次。写在前面很多小伙伴留言说让我写一些工作过程中的真实案例,写些啥呢?想来想去,写一篇我在以前公司从零开始到用户超千万的数据库架构升级演变的过程吧。本文记录了我之前初到一家创业公司,从零开始到用户超千万,系统压力暴增的情况下是如何一步步优化MySQL数据库的,以及数据库架构升级的演变过程。升级的过程极具技术挑战性,也从中收获不少。希望能够为小伙伴们带来实质性的帮助。这些面试题你都会了吗?(精选97道Java核心面试题)常量池有哪些,数据结构,自己设计一个常量池String为啥设计为final,好_前端校招面试真题解析大全

mac系统下配置tomcat_tomcat苹果与windows有区别吗-程序员宅基地

文章浏览阅读380次。mac tomcat的安装_tomcat苹果与windows有区别吗

前端必会:CDN加速原理-程序员宅基地

文章浏览阅读137次。作者:Kandyhttps://www.jianshu.com/p/1dae6e1680ff一、什么是 CDNCDN的全称是(Content Delivery Network),即内..._前端面试 cdn加速原理,没有缓存到哪里拿

小习惯-程序员宅基地

文章浏览阅读334次。生活在熙熙攘攘中从未变得安静,有时候感觉自己就像一辆行走着的汽车,向往着速度,应和着节奏。

ABSTRACT SQL CONFIGURE 代码分析一_abstractsql sql.or()-程序员宅基地

文章浏览阅读500次。2021SC@SCSDU对于SQL的配置public abstract class AbstractSQLConfig implements SQLConfig { private static final String TAG = "AbstractSQLConfig"; public static String DEFAULT_DATABASE = DATABASE_MYSQL; public static String DEFAULT_SCHEMA = "sys";..._abstractsql sql.or()