JAVA泛型 理解

泛型简介

个人理解泛型就是在 定义类,接口,方法的时候带入使用类型的形参, 类似于给这个对象提前打上一个标签一样.强制在需要使用的类,接口,方法的地方将其转换成实际类型,进行动态的传递.

JAVA泛型 是自 JDK 1.5增加的新功能, 为的是往JAVA集合中插入对象的时候,能够记住集合中对象的类型,并且在编译时能够检测出非集合中定义的类型,提前提示我们; 而在1.5版本之前是没有此项功能,丢进集合对象中之后,集合对象不会记住丢进来的是什么类型,默认成‘Object’ 对象,在编译时不检查类型这会导致从集合中取出对象进行相关操作的时候产生ClassCastException错误. 如图: 输入图片说明

改成如下这样:

List<String> ls = new ArrayList<String>();

可以在编译时就弹出提示,防止预见性的错误发生. 另外在jdk 1.7之后 可以对象构造器可以改写成

List<String> ls = new ArrayList<>();
Map<String, Integer> map = new HashMap<>();

省略都后面尖括号里的内容,更加简洁。java会自行推断出是什么类型.

图为接口中定义泛型

输入图片说明

图为方法中定义泛型(方法中的泛型是根据构造器传入的泛型进行匹配, 字母E会动态的指定实际参数类型) 输入图片说明 如文章第一幅图中main方法中List的add方法,如果List定义尖括号'<String>'中为字符串类型,那么当前字母E中则会动态的指定成为字符串类型.

** 图为类中定义泛型**

输入图片说明

转载于:https://my.oschina.net/summerfornight/blog/806109

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值