将java映射转换为ArrayList时出错

时间:2014-05-05 15:28:53

标签: java

我已经成功创建了一个Java地图并在那里添加了值。当我作为entrySet迭代它时,我得到类似的输出到以下:

key One=1
Key Two=2

现在我不想打印而是想用以下内容写入文件:

java.nio.file.Files.write(path, lines, options)

现在使用第二个参数am将其设置为:

new ArrayList(mapResult.entrySet())

但是当我运行它时,我收到以下错误:

Exception in thread "main" java.lang.ClassCastException: java.util.TreeMap$Entry cannot be cast to java.lang.CharSequence

1 个答案:

答案 0 :(得分:3)

您必须手动转换条目集; Java不会为你做这件事。

以下是您如何做到这一点的示例:

List<String> values = new ArrayList<>();

for(Map.Entry<Integer, String> entry : foo.entrySet()) {
    values.add(entry.getKey() + "=" + entry.getValue());
}

由于集合中包含的参数现在可以转换为CharSequenceFiles.write()将能够在没有ClassCastException的情况下写入特定文件。