集合(3)—泛型

  1. 定义
    泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
  2. 为什莫需要泛型
    当我们将一个对象放入集合中,集合不会记住此对象的类型,当再次从集合中取出此对象时,改对象的编译类型变成了Object类型,但其运行时类型任然为其本身类型。
    因此,取出集合元素时需要人为的强制类型转化到具体的目标类型,且很容易出现“java.lang.ClassCastException”异常。

也就是是说什么类型的对象都可以添加到集合中,但是取出来的时候可能会因为类型转换反生异常,所以就用泛型规定那种类型的对象可以添加到集合中去。
3. 语法
List st = new ArrayList();
其他原样
这时再获取元素时不需要强制转换
System.out.println(“单个:”+coList.get(0).id);

**注意:
1.泛型则是规定了某个集合只可以存放特定类型或者其子类型的对象,会在编译期间进行类型检查,
可以直接按指定类型获取集合元素,取出时不需要在强制转换。
2.泛型集合中除了能够存入泛型类型的对象实例,还可以存入泛型的子类型的对象实例
3.泛型集合中不能使用基本数据类型,但可以使用基本数据类型的包装类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值