泛型

1.为什么需要泛型?

  • 解决元素存储的安全性问题(在没有使用泛型的情况下,任何object及其子类的对象都可以添加进来)
  • 解决获取数据元素时,需要类型强转的问题(在进行强制类型转换时,可能报ClassCastException的异常)

2.JDK要求

JDK1.5。

3.泛型类

  • 一个泛型类(generic class)就是具有一个或多个类型变量的类。
  • Class 类名称<泛型类型,泛型类型,......>{......}
  • 类型参数的魅力在于:使得程序具有更好的可读性和安全性。
  • 在Java库中,使用变量E表示集合的元素类型,K和V分别表示表的关键字与值的类型。T(需要时还可以用临近的字母U和S)表示“任意类型”。

4.术语

ArrayList<E>:E称为类型变量或类型参数

ArrayList<Integer>:称为参数化的类型,其中的Integer称为类型参数的实例或实际参数

ArrayList<Integer>:<> 称为 type of

ArrayList:称为原始类型

5.兼容性

参数化类型与原始类型的兼容性,可以只写一边:Collection<String> c = new Vector(),或者Collection c = new Vector<String>()

参数化类型不考虑类型的继承关系:

数组不能使用泛型。

5.泛型与继承的关系

6.通配符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值