2014-05-05 43 views
0

我已經成功創建了一個Java映射並在那裏添加了值。當我遍歷它的entrySet我得到一個相似的輸出以下內容:將java映射轉換爲ArrayList時出錯

key One=1 
Key Two=2 

現在不是印刷我想用寫一個文件:用第二個參數時設定

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

現在它爲:

new ArrayList(mapResult.entrySet()) 

但是當我運行它,我得到以下錯誤:

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

嘗試keySet()而不是entrySet()。前者生成一組鍵,而後者生成一組條目 – hd1

+0

爲什麼要創建一個非泛型'ArrayList'而不是'ArrayList '?丹麥國內有些東西是爛的。 –

+0

我知道,我需要關鍵和價值。 – zulq

回答

3

您必須手動轉換條目集; Java不會爲你做這件事。

這裏是你如何能做到這一點的例子:

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

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

由於集合中包含的參數現在的東西,可以被轉換爲CharSequenceFiles.write()就能寫一個特定的文件,沒有ClassCastException

相關問題