没有 ClassCast强制转换为与实际类不同的泛型类型时的异常
2022-09-04 06:06:08
我有一些代码看起来像这样(该方法的负面测试的一部分):get
import java.util.*;
public class Test {
Map<String, Object> map = new HashMap<>();
public static void main (String ... args) {
Test test = new Test();
test.put("test", "value"); // Store a String
System.out.println("Test: " + test.get("test", Double.class)); // Retrieve it as a Double
}
public <T> T get(String key, Class<T> clazz) {
return (T) map.get(key);
}
public void put(String key, Object value) {
map.put(key, value);
}
}
我本来以为它会抛出一个,但它运行成功打印:ClassCastException
Test: value
为什么它不扔?