Java 泛型默认是不支持协变的
Java 泛型默认是不支持协变的,原因很简单,类型安全:如果允许协变,可能会造成类型转换异常。
Java 泛型默认是不支持协变的。这是因为如果 Java 泛型支持协变,那么就可能会引发运行时类型转换异常。下面是一个例子:
List<String> stringList = new ArrayList<>();
List<Object> objectList = stringList; // 编译错误
objectList.add(new Object());
String s = stringList.get(0); // 运行时类型转换异常
在这个例子中,如果 Java 泛型支持协变,那么我们就能把一个 List 赋值给一个 List。然后,我们就能在 List 中添加任

907

被折叠的 条评论
为什么被折叠?



