字符串转化为 List 集合

  • 问题描述

    Java中,我们有时需要对现有的字符串进行切割并转化成一个List集合。

  • 解决方案

    Java.lang 包中的 String.split() 方法可对现有的字符串进行切割,并返回一个字符串数组

    String s = "张三 123,李四 456,王五 789";
    String[] str = s.split(",");
    
    • 对 str 的遍历

    所以我们可以用 Arrays.asList() 方法,将数组转化为 List 集合

    List<String> list = Arrays.asList(s.split(","));
    

    但需要注意的是,Arrays.asList() 返回的是 Arrays 的内部类 ArrayList,而不是我们通常定义的 java.util.ArrayList.

    虽然二者都是继承自AbstractList,但 java.util.ArrayList 重写了remove()、add() 等 AbstractList 中默认抛出异常且不作任何操作的方法。

    所以,如果想正常使用 List 集合中的方法,我们还需要进一步转化 list.

    List<String> newlist = new ArrayList<String>(list);
    

    完整转化如下:

    String s = "张三 123,李四 456,王五 789";
    List<String> list = Arrays.asList(s.split(","));
    List<String> newlist = new ArrayList<String>(list);
    System.out.println(list);
    

posted @ 2020-03-24 22:21  _smallpotato  阅读(86450)  评论(0编辑  收藏  举报