Java 有界通配符方法参数外的相反行为

Java 有界通配符方法参数外的相反行为,java,java-11,Java,Java 11,在使用有界通配符时,我注意到一些奇怪的行为。当我使用有界通配符作为方法参数时,我看到了预期的行为。此代码获取RuntimeException或其子类的列表并打印它们: public static void foo(列表是否回答了您的问题?这不是您问题中所述的Java 11问题,而是文档中的预期行为。您似乎将类型list关联起来,这意味着编译器不允许调用arr.add(new IllegalArgumentException()),因为它无法知道初始化列表时使用的类型参数。您仍然可以将null添加

在使用有界通配符时,我注意到一些奇怪的行为。当我使用有界通配符作为方法参数时,我看到了预期的行为。此代码获取
RuntimeException
或其子类的列表并打印它们:


public static void foo(列表是否回答了您的问题?这不是您问题中所述的Java 11问题,而是文档中的预期行为。您似乎将类型
list关联起来,这意味着编译器不允许调用
arr.add(new IllegalArgumentException())
,因为它无法知道初始化列表时使用的类型参数。您仍然可以将
null
添加到
列表中