教你几分钟秒懂Java泛型

  • 更新时间:2023-01-06 11:34:18
  • 编辑:越智菱
这是一篇关于java相关的编程问答内容,被506位程序员关注,内容涉及到java什么是泛型、java什么是泛型等,由贾鸿畅编辑补充,一起来看下大家的回答。我们把答案参考的资料分享在下方,想深入学习的读者们可以下载学习下。

java什么是泛型

没有泛型之前的java世界是什么样的呢?在Java SE 1.5之前,如果大家想实现参数的“任意化”,只能通过Object来想办法,问题来了,你后续想要转回来,必须要显示的进行强制类型转化,想要进行强制类型转化,你又必须预知实际参数的类型,对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

这里举个例子:

上面的例子不难看出,在编译器,jvm没报错,但是运行的时候,boom。

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

泛型出现之前大家怎么实现的呢:

泛型出现后:

这里的T的类型的参数,具体T指代什么类型,是String还是Integer类型此处不管,而在程序员开发时使用到Container时再指定,如:

这种环境下,编译器就知道Container容器是放String类型对象的,并进行类型安全检查。

这样设计的容器在使用时编译器就可以帮忙做很大一部分的类型安全检查工作了,这就避免了很多运行时的ClassCastException异常,程序员也无需记住各种对象的类型和担心类型匹配问题了。同时大部分情况下也不用做类型强制转换工作了。

以上就是码农之家Java培训机构小编介绍的“教你几分钟秒懂Java泛型”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

相关问题

  • java如何定义数组(java定义数组方法)

    Java中数组定义的三种方式 1.先声明 2.分配空间 3.赋值 public class arr{ public static void main(String[] args){ int[] arr; //先声明 arr=new int[5]; //分配空间 for(int i=0;i5;i++)arr[i]=i*10; //赋值 for(int i=0;i5;i++){ System.out.println(arr[+i+]=+arr[i]); } }} 结果: 方法二: 1.声明并分配空间 2.赋值

    发布时间:2021-04-27

  • java中的异或问题代码解析

    这篇文章主要介绍了java中的异或问题代码解析,具有一定借鉴价值,需要的朋友可以参考下。

    发布时间:2022-04-10

  • 详解java中jvm逃逸问题(java中jvm逃逸问题分析)

    本篇文章给大家详细总结了java中jvm逃逸问题的相关内容,有兴趣的朋友可以根据小编一起学习下。

    发布时间:2020-01-20

  • java常用工具类 UUID、Map工具类、XML工具类、数据验证工具类(java常用工具类代码详解)

    这篇文章主要为大家详细介绍了java常用工具类,UUID、Map工具类、XML工具类、数据验证工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    发布时间:2019-05-31

  • java微信小程序开发中加密解密算法总结(详解java微信小程序开发中加密解密算法)

    这篇文章主要为大家详细介绍了java实现微信小程序加密数据解密算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    发布时间:2019-06-05

  • java中如何重写父类的方法吗(java里怎样重写父类的方法)

    java中重写父类的方法只需写出与父类一模一样的这个方法即可,包括方法名,参数类型,参数值,返回值。子类扩展了父类,子类是一个特殊的父类。大部分时候子类是以父类为基础的,但是有时候子类需要重写父类的方法。比如说我们定义了一个Person类来表示人类。里面定义了一个方法为上洗手间,ManPeople 继承了这个类,Man上洗手间的方式和Woman上洗手间的地方有所不同,因此他要重写Person类中的方法。 方法的重写需要遵循的原则: 1、方法名相同,

    发布时间:2020-12-03

  • 专科生、应届毕业生去培训机构学java有用吗(专科生在培训机构学可以吗)

    刚毕业或者刚从培训机构出来的你们现在肯定是经历着面试的痛苦,都说面试造航母,工作拧螺丝,话虽没错,但是如果真的有个航母,不造你也得造,身在其位谋其职。 下面我想说的是一些技术的路线,从专科出来的,只能说你的基础真的薄弱,有很多本科教的东西,专科都给你忽略掉了,怎么精简怎么来,有些东西只是给你讲过一遍就不会再讲第二遍,废话不多说,先说一下比较工作中比较常用的一些技术。就算做码农,也要做个高级码农,不摸鱼

    发布时间:2020-10-19

  • Java中Collections.emptyList()的注意事项(Java Collections.emptyList()注意)

    给大家整理了关于Java的教程,这篇文章主要给大家介绍了关于Java中Collections.emptyList()的注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2022-10-19

  • java要学多长时间才能达到找工作的程度(java要学多久才能找到工作)

    目前IT市场持续火热,Java更是非常受各大企业欢迎,所以很多人想自学Java,学精通后转行做Java开发类的工作。下面码农之家java培训机构小编就来给大家讲讲新手自学java要学多长时间才能达到找工作的程度。

    发布时间:2021-12-28

  • java 注解的基础详细介绍

    给网友朋友们带来一篇关于java的教程,这篇文章主要介绍了java 注解的基础详细介绍的相关资料,希望通过本文大家能掌握注解的使用方法,需要的朋友可以参考下

    发布时间:2022-10-10

用户回答