欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java泛型集合  

程序员文章站 2022-03-20 17:25:14
...

    java中List集合声明的时候需要传入一个类型,表示集合中的元素类型。如果集合声明为父类,则不能把子类的集合实例赋值给父类集合的引用,但是可以在父类集合中添加子类对象,如果要实现子类集合实例赋值给父类集合引用,需要在父类中使用集合的向下限定,即泛型声明<? extends Parent>,下面看看例子。

public class Demo {
	
	public static void main(String[] args) {
		List<Parent> parents = new ArrayList<>();
		parents.add(new Parent());
                // 这里是可以添加子类的实例到集合中
                parents.add(new Child());
		
                // 这个赋值是不允许的 编译的时候会报错
                List<Parent> parents2 = new ArrayList<Child>();
                
                // 这样就可以了
               List<? extends Parent> list = new ArrayList<Child>();
		
	}
	
}

class Parent {
	
}

class Child extends Parent {
	
}