学习Java泛型的个人笔记

1. 为什么要有泛型

1). 解决元素存储的安全性问题

2). 解决获取数据元素时,需要类型强转的问题

2.自定义泛型

1). 当实例化泛型类的对象时,指明泛型的类型。指明以后,对应的类中所有使用泛型的位置,都变为实例化中指定的泛型的类

2). 如果我们自定义了泛型类,但是在实例化时没有使用,那么默认类型是Object类的

3). 声明泛型方法

public static <E> E getE(E e){
	return e;
}

3. 泛型继承关系:若类A是类B的子类,那么List<A>就不是List<B>的子接口

4. 泛型通配符:?

1). List<A>、List<B>、。。。。都是List<?>的子类

public void show1(List<?> list){
	
}

2). ? extends A :可以存放A及其子类

3). ? super A:可以存放A及其父类

5. 注意的地方:

1). 不可以在static方法中使用泛型的声明

2). 不可以在try-catch中使用类的泛型的声明

3). 可以读取声明为通配符的集合类的对象

4). 不允许向声明为通配符的集合类中写入对象。唯一例外的是null

猜你喜欢

转载自blog.csdn.net/qq_36797286/article/details/81133009