gpt4 book ai didi

java - 如何将 arrayList.toString() 转换为实际的数组列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:13 25 4
gpt4 key购买 nike

在我的软件中,因为没有Array SQLite 中的数据类型, 我保存了我的 ArrayList作为 String .现在我需要使用我的数组并想将它转换回 ArrayList。我该怎么做?

这里有一个例子:

ArrayList<String> list = new ArrayList<String>();
list.add("name1");
list.add("name2");
list.add("name3");
list.add("name4");
list.add("name5");
list.add("name6");

String newList = list.toString();
System.out.println(newList);

结果:[name1, name2, name3, name4, name5, name6]

那么现在我怎样才能把它转换成 ArrayList<String>

最佳答案

我相信这应该有效:

Arrays.asList(newList.substring(1, newList.length() - 1).replaceAll("\\s", "").split(","));
  • 取出字符串,去掉第一个和最后一个括号。
  • 删除每个空格。
  • 以逗号分隔,收集为列表。

请注意,如果您真的必须为项目执行此操作,那么您的代码设计有问题。但是,如果这只是出于好奇,那么这个解决方案是可行的。


测试后

ArrayList<String> list = new ArrayList<String>();
list.add("name1");
list.add("name2");
list.add("name3");
list.add("name4");
list.add("name5");
list.add("name6");

String newList = list.toString();
List<String> myList = Arrays.asList(newList.substring(1, newList.length() - 1).replaceAll("\\s", "").split(","));

System.out.println(myList);

将正确编译并打印:

[name1, name2, name3, name4, name5, name6]

编辑

根据您的评论,如果您真的希望您的变量是 ArrayList<String>例如,那么您可以将列表传递给 ArrayList构造函数:

ArrayList<String> myList = new ArrayList(Arrays.asList(newList.substring(1, newList.length() - 1).replaceAll("\\s", "").split(",")));

您不能直接转换为 Arrays.asList使用它自己的内置 java.util.Arrays$ArrayList类。

关于java - 如何将 arrayList.toString() 转换为实际的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29618139/

25 4 0