Java String转String[]字符串数组,String[]转List集合,char[]字符数组转String

一、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[]集合

  • 方法: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);
  • 结果:
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zhuzicc/article/details/106192910