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

原创 2015年11月21日 14:52:01
/*
 ?  通配符,也可以理解为占位符。
 泛型的限定:
  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);
	}
}


结果:


版权声明:本文为博主原创文章,如需转载请注明出处。

黑马程序员-泛型的上限与下限

设置泛型对象的上限使用extends,表示参数类型只能是该类型或该类型的子类: 声明对象:类名 对象名 定义类:类名{} 设置泛型对象的下限使用super,表示参数类型只能是该类型或该类型的父类...
  • hero1122
  • hero1122
  • 2014年06月16日 17:11
  • 4395

Java泛型4—泛型的上限和下限

【作者:孟祥月  博客:http://blog.csdn.net/mengxiangyue】 在写程序的时候,我们希望某一个函数接收的参数,有一个范围的限制,这时候我们就可以考虑使用泛型的上限和下限...
  • mengxiangyue
  • mengxiangyue
  • 2011年11月27日 20:37
  • 6347

【泛型】泛型限定 ?(上限和下限案例)

/*泛型限定  ? extend E :可以接收E类型或E类型的子类类型,就确定了上限 ? super E :可以接收E类型或E类型的父类类型,确定了下限 */ package fx; import ...
  • xiongyongting
  • xiongyongting
  • 2016年12月24日 22:28
  • 200

黑马程序-泛型高级应用-向上限定-向下限定

泛型高级应用: ? 占位符 || 通配符 概念:当集合不确定将要接收什么类型的对象时,使用“?”作为接收未来传递来的对象的通配符。 ? 占位符 || 通配符 格式:Collection ... .....
  • liuxiaohui_dh
  • liuxiaohui_dh
  • 2015年01月16日 15:36
  • 948

泛型的上限和下限

泛型的上限使用class Demo9 { public static void main(String[] args) { //泛型上限的使用 T...
  • melissa_heixiu
  • melissa_heixiu
  • 2016年08月11日 21:44
  • 530

泛型限行上限和下限

泛型 泛型的作用是给我们用来判断类型的, java代码 无泛型。 定义了两个javabean类。里面有String name public class Demo{ ...
  • Zzrdark_
  • Zzrdark_
  • 2016年07月18日 22:04
  • 254

黑马程序员——泛型限定,上限,下限

----------------------    android培训    java培训   期待与您交流!    ----------------------                ...
  • wjw_java
  • wjw_java
  • 2012年08月31日 00:03
  • 630

java泛型——上下限

  指定上限为T类:表示泛型必须为T类及其子类;  指定上限为T接口:表示泛型必须为T接口及其实现类;  不管是类还是接口,格式都为extends T;  指定下限为T类:表示泛型必须为T...
  • Lee_my_
  • Lee_my_
  • 2015年01月18日 22:40
  • 1600

通配符,泛型上下限

一:通配符 因为泛型是初始化的时候才确定数据的类型,而接受这个对象或对象的这个属性的方法确是固定的,所以需要对传入这个方法的这些个属性的类型进行判断和限制,不然,一个只能出来Integer类型的方法如...
  • haizhu668
  • haizhu668
  • 2013年07月29日 15:25
  • 2666

深入理解泛型,类型通配符<?>,类型通配符上限,下限

一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static voi...
  • Davidluo001
  • Davidluo001
  • 2015年12月15日 16:36
  • 2998
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集合框架---泛型限定(上限和下限)
举报原因:
原因补充:

(最多只允许输入30个字)