加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在Java中将逗号分隔的String转换为ArrayList

发布时间:2020-12-15 02:52:12 所属栏目:Java 来源:网络整理
导读:参见英文答案 How to convert comma-separated String to ArrayList?23个 我有一个逗号分隔的字符串,我需要转换为ArrayList. 我试过这种方式 import java.util.ArrayList;import java.util.Arrays; public class Test { public static void main(String[] ar
参见英文答案 > How to convert comma-separated String to ArrayList?23个
我有一个逗号分隔的字符串,我需要转换为ArrayList.
我试过这种方式
import java.util.ArrayList;
import java.util.Arrays;

    public class Test {

        public static void main(String[] args) {

            String CommaSeparated = "item1,item2,item3";

            ArrayList<String> items = (ArrayList)Arrays.asList(CommaSeparated.split("s*,s*"));

            for(String str : items)
            {
                System.out.println(str);
            }

        }

    }

它给我如图所示的运行时错误

Exception in thread "main" java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
    at com.tradeking.at.process.streamer.Test.main(Test.java:14)

因为我试图强制将List转换为arrayList.

解决方法

Arrays.asList返回的ArrayList不是java.util.ArrayList.它是java.util.Arrays.ArrayList.所以你不能把它强制转换为java.util.ArrayList.

您需要将列表传递给java.util.ArrayList类的构造函数:

List<String> items = new ArrayList<String>(Arrays.asList(CommaSeparated.split("s*,s*")));

或者,您可以简单地分配结果:

List<String> items = Arrays.asList(CommaSeparated.split("s*,s*"));

但请注意,Arrays.asList返回一个固定大小的列表.您无法在其中添加或删除任何内容.如果要添加或删除某些内容,则应使用第一个版本.

P.S:您应该使用List作为引用类型而不是ArrayList.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读