【初心者】Java質問・相談スレッド108【大歓迎】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0911デフォルトの名無しさん
2007/11/24(土) 11:51:08import java.util.*;
public class Ex1 {
public static void main(String[] args) {
Map<String,Object> map = new HashMap<String,Object>();
map.put("key1", "FOO");
map.put("key2", new Integer(123));
map.put("key3", new ArrayList<String>());
String val1 = (String)map.get("key1");
int val2 = (Integer)map.get("key2");
List<String> val3 = (List<String>)map.get("key3"); // warning: unchecked cast
}
}
これをコンパイルするとこんなwarningが出ます。
Ex1.java:10: warning: [unchecked] unchecked cast
found : java.lang.Object
required: java.util.List<java.lang.String>
List<String> val3 = (List<String>)map.get("key3");
^
1 warning
なぜでしょうか。StringやIntegerだとキャストできて、List<>だとできないのが謎です。
レス数が900を超えています。1000を超えると表示できなくなるよ。