2016-09-08 4 views
0

SimpleImmutableMapを作成するとキャスト警告がチェックされないのはなぜですか?以下の非常に単純なコードで

public static void test(Map<Externalizable, Externalizable> t){ 
    for(Map.Entry<Externalizable, Externalizable> e : t.entrySet()){ 
     //The next line causes unchecked cast warning 
     Object o = new AbstractMap.SimpleImmutableEntry(e.getKey(), e.getValue()); 
    } 
    } 

DEMO

なぜ? AbstractMap.SimpleImmutableMapは汎用クラスです。どうしましたか?

答えて

2

raw typeを使用しているためです。代わりに、diamond operator

Object o = new AbstractMap.SimpleImmutableEntry<>(e.getKey(), e.getValue()); 
関連する問題