java零基础的坎坷之路【29】——泛型高级(通配符)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LiyangBai/article/details/88069134
1、泛型高级(通配符):
	
	①、泛型通配符<?>
	
		任意类型,如果没有明确,那么就是Object以及任意的Java类
		
	②、? extends E
	
		向下限定,E及其子类
		
	③、? super E
	
		向上限定,E及其父类
/**
 * 泛型:高级通配符
 * @author Administrator
 *
 */
public class demo9 {
	public static void main(String[] args) {
		//泛型没有明确的时候,左右必须一致
		ArrayList<Object> c1 = new ArrayList<Object>();
		//泛型不明确的时候,?表示任意的泛型都是可以的
		ArrayList<?> c2 = new ArrayList<Animal>();
		ArrayList<?> c3 = new ArrayList<Object>();
		ArrayList<?> c4 = new ArrayList<Animal>();
		ArrayList<?> c5 = new ArrayList<Dog>();
		ArrayList<?> c6 = new ArrayList<Cat>();
		//? extends E:向下限定,E及其子类
		ArrayList<? extends Animal> c7 = new ArrayList<Animal>();
		ArrayList<? extends Animal> c8 = new ArrayList<Dog>();
		ArrayList<? extends Animal> c9 = new ArrayList<Cat>();
		//? super E:向上限定,E及其父类
		ArrayList<? super Animal> c10 = new ArrayList<Animal>();
		ArrayList<? super Animal> c11 = new ArrayList<Object>();
	}
}

猜你喜欢

转载自blog.csdn.net/LiyangBai/article/details/88069134
今日推荐