当前位置: 首页 > 面试题库 >

如何将arrayList.toString()转换为实际的arraylist

汪胤
2023-03-14
问题内容

在我的软件中,由于没有输入Array数据类型SQLite,因此我将其另存ArrayListString。现在,我需要使用数组并将其转换回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类进行强制转换。



 类似资料:
  • 我尝试了一个可以正常工作的解决方案(见下文),除了在Android 4.4中调用会带来一个名为“从”打开的活动,其中有“最近”、“图像”、“下载”以及几个应用程序可供选择。当我选择图像并尝试解析返回的内容URI(使用下面的代码)时,调用返回null。如果我使用库应用程序选择完全相同的文件,返回文件路径。我只在API级别16和19中测试过这个。一切工作在16预期。至于19去,我必须选择画廊或其他应用

  • 此API调用返回一个可能较大的列表 排序、搜索和访问一个潜在的大型LinkedList将非常缓慢,对我的程序来说是不可接受的。因此,我需要将列表转换为ArrayList,以确保程序的实际效率。但是,由于列表很可能已经是ArrayList,因此不必要地创建列表的新ArrayList副本将效率低下。 考虑到这些约束,我提出了以下方法将列表转换为ArrayList: 我的问题是:这是处理具有未知实现的列

  • 问题内容: 我需要将a转换为an ,但我不知道如何 基本上我想变成一个。 问题答案: 您可以执行以下操作:

  • 问题内容: 我在mySQL 5.1中有一个数据类型的日期列。如何将其转换为DATE? 这是我到目前为止所拥有的- 得到这个 错误-#1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’FROM 7 FOR 4附近使用) 请帮忙。 问题答案: 您可以使用MySQL的功能 尽管我怀疑您使用Unix时间戳会更轻松

  • 问题内容: 有没有一种简单的方法可以避免处理文本编码问题? 问题答案: 您确实无法避免处理文本编码问题,但是Apache Commons中已有一些解决方案: 至: 至: 您只需要选择所需的编码即可。