1.为什么要有泛型
泛型可以理解为标签,比如药店里会在某一类药品处贴上标签方便寻找。
定义:把元素的类型设计成一个参数,这个类型参数叫做泛型。
比如List<String>
这表明该List只能保存字符串类型的对象
那么使用或不使用泛型有什么区别呢?看下面的代码
@Test public void test(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add(78); list.add(60); list.add(30); list.add(99); //问题1:类型不安全 list.add("Tom");
for (Object score : list){
//问题2:强转时,可能出现ClassCastException
int stuScore = (Integer) score;
System.out.println(stuScore);
}
}
2.在集合中使用泛型 集合接口或集合类在JDK5.0时都修改为带泛型的结构。 在实例化集合类时,可以指明具体的泛型类型 指明完后,在集合类或接口中凡是定义类或接口时,内部结构(方法,构造器,属性等)使用到类的泛型的位置,都指定为实例化时的泛型类型 比如:add(E e) —>实例化以后:add(Integer e)
泛型的类型必须是类,不能是基本数据类型。需要用到基本数据类型的位置拿包装类替换 如果实例化时,没有指明泛型的类型,默认为Object类型
2.自定义泛型结构
自定义泛型结构有:泛型类、泛型接口;泛型方法
标签:Java,list,集合,add,实例,类型,泛型 From: https://blog.51cto.com/u_13529088/8968916