标签: java
对于Java通用方法中的通配符行为,我有点困惑。任何人都可以帮我这个忙。 假设我有一个方法m1(ArrayList<? extends X),这里x是class或interface。对于此方法,我们可以将任何类型的arraylist作为参数传递给m1()方法。在这种情况下,我们不执行添加操作,但可以用于检索。
m1(ArrayList<? extends X)
我还有一个方法m1(ArrayList<? super X),这里x可以是类或接口。在这种情况下,我们可以执行添加或检索。任何人都可以详细说明上述方法在行为上的差异。谢谢。
m1(ArrayList<? super X)