JAVA语言泛型的好处及实现原理详解
小标 2018-08-30 来源 : 阅读 1059 评论 0

摘要:本文主要向大家介绍了JAVA语言泛型的好处及实现原理详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言泛型的好处及实现原理详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

泛型好处:

泛型简单易用

类型安全 泛型的主要目标是实现java的类型安全。 泛型可以使编译器知道一个对象的限定类型是什么,这样编译器就可以在一个高的程度上验证这个类型

消除了强制类型转换 使得代码可读性好,减少了很多出错的机会

Java语言引入泛型的好处是安全简单。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

泛型的实现原理

泛型的实现是靠类型擦除技术 类型擦除是在编译期完成的 也就是在编译期 编译器会将泛型的类型参数都擦除成它的限定类型,如果没有则擦除为object类型之后在获取的时候再强制类型转换为对应的类型。 在运行期间并没有泛型的任何信息,因此也没有优化。

泛型不考虑继承

List 类型 是否 可以 赋值为 List类型 ?

答案是不可以的

虽然说在赋值之后 String类型可以当做 Object类型使用 但是还是会出现问题

假设如下代码


List<string> strings = new ArrayList<>();

    strings.add("哈哈哈哈");

    List<object> objs = new ArrayList<>();

    objs = strings;  //编译会出错,这里我们假设成功 

    Object aa = objs.get(0);  //此处可以把String转换为Object使用

    objs.add("呵呵呵呵");

    objs.add(new Object());  //这时 objs中 既有 String 类型 也有 Object类型

    objes.get(2);  //这个时候 我们不会知道取出的到底是 Object对象 还是 String类型的对象  因此编译器为了防止出现这种情况  就提示编译出错</object></string>

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved