YL的专栏

生入逆旅单行道,哪有岁月可回头。

集合框架---泛型限定(上限和下限)

/*
 ?  通配符,也可以理解为占位符。
 泛型的限定:
  1、 ? extends E:可以接收E类型或者E的子类型,   上限。
  2、 ? super E:可以接收E类型或者E的父类型。   下限。
 */

import java.util.ArrayList;
import java.util.Iterator;


public class GenericDemo1 {
	public static void main(String[] args) {
		ArrayList<Person1> al = new ArrayList<Person1>();
		al.add(new Person1("张三001",23));
		al.add(new Person1("张三002",24));
		al.add(new Person1("张三003",22));
		al.add(new Person1("张三004",25));
		print(al);
		ArrayList<Student2> all = new ArrayList<Student2>();
		all.add(new Student2("李四001",20));
		all.add(new Student2("李四002",18));
		all.add(new Student2("李四003",30));
		all.add(new Student2("李四004",26));
		print(all);
	}
	public static void print(ArrayList<? extends Person1> al){
		//打印Person和Person的子类
		Iterator<? extends Person1> it=al.iterator();
		while(it.hasNext())
		{
			System.out.println(it.next().getNameAndAge());
		}
	}
}
class Person1{
	private String name;
	private int age;
	public Person1(String name,int age){
		this.name=name;
		this.age=age;
	}
	public String getNameAndAge(){
		return name+"-------"+age;
	}
}
class Student2 extends Person1{
	Student2(String name,int age){
		super(name,age);
	}
}


结果:


阅读更多
版权声明:本文为博主原创文章,如需转载请注明出处。 https://blog.csdn.net/u012369373/article/details/49964507
个人分类: JAVA
上一篇集合框架------泛型方法
下一篇泛型限定二---用父类定义比较器,用于子类,减少代码,节约空间
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭