2011-06-24 36 views
0

我有以下錯誤的代碼,的Java錯誤的entrySet

類型不匹配:不能從Set<Map.Entry<Date,List<Transaction>>> to Set<Date>

代碼轉換:

final Map<Date, List<Transaction>> transactionsMap= new HashMap<Date, List<Transaction>>(); 

Set<Date> set = transactionsMap.entrySet(); //Error line 

這是什麼錯誤?如何解決這個問題?

回答

3

您需要使用keySet()才能獲取關鍵值集。 entrySet()返回entries的集合(即組合鍵值的值)。

Map<Date, List<Transaction>> transactionsMap= new HashMap<Date, List<Transaction>>(); 
Set<Date> set = transactionsMap.keySet(); 

但是,如果你想使用entrySet()方法,那麼你就需要使用適當類型的變量:

Set<Map.Entry<Date, List<Transaction>> entries = transactionMap.entrySet(); 
+0

感謝您的答覆。但是我必須使用entrySet而不是keySet來解決性能問題。 – Srinivasan

+0

@Srinivasan:我已經更新了我的答案。 –