更新时间:2019-12-19 16:30:24 来源:极悦 浏览2202次
没有泛型之前的java世界是什么样的呢?在Java SE 1.5之前,如果大家想实现参数的“任意化”,只能通过Object来想办法,问题来了,你后续想要转回来,必须要显示的进行强制类型转化,想要进行强制类型转化,你又必须预知实际参数的类型,对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。
这里举个例子:
上面的例子不难看出,在编译器,jvm没报错,但是运行的时候,boom。
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率。
泛型出现之前大家怎么实现的呢:
泛型出现后:
这里的T的类型的参数,具体T指代什么类型,是String还是Integer类型此处不管,而在程序员开发时使用到Container时再指定,如:
这种环境下,编译器就知道Container容器是放String类型对象的,并进行类型安全检查。
这样设计的容器在使用时编译器就可以帮忙做很大一部分的类型安全检查工作了,这就避免了很多运行时的ClassCastException异常,程序员也无需记住各种对象的类型和担心类型匹配问题了。同时大部分情况下也不用做类型强制转换工作了。
以上就是极悦注册机构小编介绍的“教你几分钟秒懂Java泛型”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
Java全套自学资料+视频
Java自学视频教程(免费学习):
Java技术教程:
相关文章
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习