关于泛型

1.关于泛型的形式参数

 1 package test;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 public class GenericTest {
 7 
 8     public void m1(List<Object> list) {
 9 
10     }
11 
12     public void m2(List<? extends Object> list) {
13 
14     }
15 
16     public void m3() {
17 
18         // 正确,ArrayList是List的之类,可以正确赋值
19         m1(new ArrayList<Object>());
20 
21         // 错误,列表的元素是Object,不是String
22         // 可以这么说,ArrayList<Object>是继承List<Object>,但是ArrayList<String>是没有继承List<Object>的
23         m1(new ArrayList<String>());
24 
25         // 正确,这个的意思是,列表里的元素是继承自Oject的,明显,String是继承自Object的(其实形参可以写成List<?> list)
26         m2(new ArrayList<String>());
27     }
28 
29 }


原文地址:https://www.cnblogs.com/billmiao/p/9872187.html