【问题标题】:convert String to ArrayList with removing extra "" signs [closed]将字符串转换为 ArrayList 并删除额外的“”符号 [关闭]
【发布时间】:2019-02-28 11:08:26
【问题描述】:

我有一个String abc="a","b","c"; 我想将其转换为ArrayList。 我正在使用此代码对其进行转换。

List<String> list11 = new ArrayList<String>(Arrays.asList(abc.split(" , ")));

目前,输出是这样的

"subCategory": ["\"a\"", "\"b\"","\"c\""],`

我想要这样的输出:

["a","b","c"]

【问题讨论】:

  • 发布一个完整的最小示例,作为代码。您发布的代码未格式化为代码,并且是无效的 Java。还将所需的和实际的输出作为代码发布。
  • 我已经粘贴了代码。
  • 阅读我编辑的评论。
  • 您可以在结果上使用地图并从这篇文章中删除引用帮助:stackoverflow.com/questions/1473155/…

标签: java arrays string arraylist stream


【解决方案1】:

给定String abc="\"a\",\"b\",\"c\"";

您可以在使用split()之前简单地替换String中的引号:

 List<String> list11 = new ArrayList(Arrays.asList(abc.replace("\"", "").split(",")));

输出:

[a, b, c]

【讨论】:

  • new ArrayList 在这里似乎是多余的。为什么要为已经正确的输出制作可变副本?
  • @Dici OP 说他们想将其转换为 ArrayList
  • 嗯,真的,没看到。我坚持认为只有在需要可变输出时才应该这样做(实际上Arrays.asList 返回一个结构上不可变的列表 - 无法添加或删除元素 - 但仍然可以修改 - 可以重新分配现有值 -所以它已经不是不可变的)。
【解决方案2】:

你的字符串必须像下面的格式,这样你就可以很容易地得到 ["a","b","c"]

String abc="\"a\""+","+"\"b\""+",\"c\"" ;
List list11 = new ArrayList(Arrays.asList(abc.split(" , ")));
System.out.println(list11);

【讨论】:

    猜你喜欢
    • 2011-04-20
    • 1970-01-01
    • 2016-06-23
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    相关资源
    最近更新 更多