从零双排java之泛型

                                    泛型

泛型的作用:标识集合中保存的元素

 * 好处:

 * 1.操作数据更加安全(规范集合中能保存的数据)

 * 2.可以避免向下转型(强转类型)的麻烦

 * 3.将运行时的错误转到编译时报错


ArrayList<Student> list = new ArrayList<Student>();
		list.add(new Student("肖锋", 11));
		list.add(new Student("坤", 52));
		list.add(new Student("大海", 22));
		// 从集合中取出一个元素
		Object object = list.get(0);
		Student student = (Student) object;
		System.out.println(student.getName());
		// 从集合中取出一个元素 强转成 工人类型 调用工人的方法
		// 不加泛型 获取到集合中的元素 元素的类型你可以随便强转
		// 没有约束 编译都会通过
		// 加上泛型 可以在编译时 有错误提示 让集合中保存的元素更加安全

泛型的另一种写法

 * ? extends E

 * 问号是子类  E是父类  

 * 只能使用父类的子类  或者本类  也叫 向下限定

	// 创建一个person集合 保存两个person
		ArrayList<Person> list1 = new ArrayList<>();
		list1.add(new Person("wang1", 11));
		list1.add(new Person("wang2", 11));
		// 常见一个student 集合 保存两个student
		ArrayList<Student> list2 = new ArrayList<>();
		list2.add(new Student("peng1", 21));
		list2.add(new Student("peng2", 21));
		// addAll(Collection<? extends E> c)
		list1.addAll(list2);
		list2.addAll(list1); //向子类中添加父类的集合  这时就会报错

		System.out.println(list1);






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值