【问题标题】:Replace value in List<List<String>> Java替换 List<List<String>> Java 中的值
【发布时间】:2017-03-21 12:35:49
【问题描述】:

我正在尝试用 Java 替换 List&lt;List&lt;String&gt;&gt; 中的一个值,但我遇到了这个错误。我正在使用List.set() 来执行此操作。基本上在我的程序中,我试图将dataList 中每个列表的第一个元素替换为变量x

下面是我的代码:

for(int i = 0; i <= dataList.size()-1; i++) {
    String x = String.join("-","Water",dataList.get(i).get(8).replaceAll("\\s","").split("&")[0],dataList.get(i).get(0));
    dataList.set(dataList.get(i).get(0),x);
}

} //结束主程序

但是我遇到了这个错误“List&lt;List&lt;String&gt;&gt; 类型中的方法set(int, List&lt;String&gt;) 不适用于参数(String, String)

然后我尝试将句子转换为:

        dataList.set(Integer.parseInt(dataList.get(i).get(0)),x);

有人知道如何解决这个问题吗?

【问题讨论】:

  • set 方法有什么不清楚的地方?它的 JavaDoc 明确表示,它将指定索引上的当前项替换为其他内容。为什么你认为你可以用它来替换任何匹配 dataList.get(i).get(0)x 的项目?

标签: java arrays string list


【解决方案1】:

您必须在内部列表上调用 set,而不是包含其他列表的列表。

更像是这样

for(int i = 0; i <= dataList.size()-1; i++) {
    String x = String.join("-","Water",dataList.get(i).get(8).replaceAll("\\s","").split("&")[0],dataList.get(i).get(0));
    dataList.get(i).set(0, x);
}

您获得列表编号i 并将第一个值 (0) 设置为 x。

干杯

【讨论】:

    猜你喜欢
    • 2021-09-17
    • 1970-01-01
    • 2020-10-24
    • 2022-01-05
    • 2022-01-11
    • 1970-01-01
    • 2021-08-08
    • 2015-12-16
    • 1970-01-01
    相关资源
    最近更新 更多