练习书上的例子并说明他们的含义
补充习题
1、为什么用List li = new ArrayList<>(); 而不用ArrayList li = new ArrayList<>();
2、将泛型和集合结合使用。
3、将泛型和类结合使用。比如自己写一个用泛型的类。
4、使用泛型通配符。
5、设置通配符的上限和下限
6、T类型是什么?有什么含义?为什么这么命名?
7、将菱形语法和匿名内部类结合使用。
8、将泛型和接口结合使用。
9、p351的最顶上那个疑问,
替换成ListString?这个ListString是什么?还有系统没有进行源代码复制是什么意思?
10、写一个类继承泛型父类,和实现泛型父类,重写父类方法,然后尝试返回与父类不同的类型。一种是其他类型,一种是子类(更小的类型)
11、使用javac的-Xlint:unchecked选项。
12、给ArrayList添加Dog类型的实例。
13、Number是什么的父类?
14、说出数组和泛型的区别。还有什么是型变。
15、类型通配符?和K和T什么区别,
16、p355是怎么get?,把一个有类型参数的list赋值给一个用类型通配符的list吗?
17、将书上p356的画图改为真正的画图,而不是文字
18、说出协变和型变的区别。还有协变是什么?有什么特点?
19、说出逆变是什么,和协变是什么关系?
20、说出在静态方法中可以怎么使用泛型?
21、设置泛型形参的上限和下限。还有接口的实现。
22、定义方法的类型参数(泛型方法)
23、在p361页,为什么fromArrayToCollection(T[] a,Collection c)
可以传入(Integer[],Collection而不报错。但是下面的test(Collection from,Collection to),传入(List,List)就不行?
24、说出泛型方法和类型通配符的区别是什么?我没想明白为什么把这两个拿来对比?
说出他们各自适合什么时候使用?还是不太理解他们两个。然后说出什么情况下需要同时使用他们。
25、p363的泛型形参S仅使用一次是什么意思?后面的显著区别也没看懂。
26、说出什么时候不能使用菱形语法。
27、使用泛型类方法
28、说出类型推断的作用。并且什么时候不能使用类型推断,必须显式指定泛型实际类型
29、说出擦除的含义,并写一个例子。
30、说出转换的含义,并写一个例子。
31、不理解368的最后一个例子想说明什么?
32、尝试重载泛型方法
要练习java文档的类