java泛型通配符<? extends T>和<? super T>的理解
1. 什么是泛型通配? 当使用泛型类或者泛型接口时候,传递数据过程中, 泛型类型不确定 , 则可以通过<?> 来匹配。一旦使用通配符,只能使用Object中共性方法。 2. 使用通配符<?>示例 public class GenericDemo { public static void main ( String [ ] args ) { ArrayList < Integer > list1 = new ArrayList < > ( ) ; list1 . add ( 1 ) ; list1 . add ( 2 ) ; ArrayList < String > list2 = new ArrayList < > ( ) ; list2 . add ( "a" ) ; list2 . add ( "b" ) ; // 调用输出函数,分别想打印结果 printArray ( list1 ) ; printArray ( list2 ) ; } /* 当传入Integer类型,list2将会报错,当传入String类型,list1将会报错 此时,很多会填入Object泛型,但是对不起,泛型没有继承概念 因此我们使用通配符? */ public static void printArray ( ArrayList < ? > list ) { Iterator < ? >