java:集合泛型子类

list集合中,只能添加泛型指定的类与其子类。

以及不能添加基础类型,但可以添加基础类型的包装类。

public class SuperCourse extends course {//SuperCourse类为course类的子类

}
public class testGranber {
	/*
	 * 新建一个名为course的list容器,规定只能存放course元素的集合
	 */
	public List <course> courses;
	
	//编写构造方法,方法内容为,所有course对象都可以被实例化进list。
	public  testGranber() {
		this.courses=new ArrayList<course>();
	}
	public void testSuper() {
		SuperCourse ct=new SuperCourse();
		ct.id="3";
		ct.name="泛型指定类型的子类";
		courses.add(ct);
	}
		public void testForEach() {
		for(course cr:courses) {//经过泛型规定,不需要再转换类型
			System.out.println("课程:"+cr.id+"."+cr.name);
		}
	}
	/*
	 * 新建一个list集合,尝试将int类型设为指定添加类
	 */
	//List <int> int1=new ArrayList<int>();  编译器报错,无法将int类型添加进list集合
	public void tsetint() {
	List <Integer> list1=new ArrayList<Integer>();//编译通过,可以将包装类指定为添加类型
	list1.add(1);//参数转入之前自动装箱
	System.out.println("成功加入Integer类型:"+list1.get(0));
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		testGranber tg=new testGranber();
		tg.testSuper();
		tg.testForEach();
		tg.testint();
	}
运行结果:

课程:3.泛型指定类型的子类
成功加入Integer类型:1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值