作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的软件中,因为没有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/
我是一名优秀的程序员,十分优秀!