Java String转String[]字符串数组,String[]转List集合,List集合转String,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

方式一

  • 方法: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);
  • 结果:
    在这里插入图片描述
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页