开发者社区> 问答> 正文

[@倚贤][¥20]Java泛型有什么好处?

Java泛型有什么好处?

展开
收起
黄二刀 2018-12-16 19:42:42 3793 0
11 条回答
写回答
取消 提交回答
  • 使用泛型的理由有三:
    1、编译时的强类型检查
    2、消除显示的类型强制转换
    3、更好的代码复用性,比如实现泛型算法
    Java中的泛型仅仅是一个编译时的概念,在运行时,所有的泛型信息都被消除了,这被称为泛型擦除。

    2019-07-17 23:22:23
    赞同 展开评论 打赏
  • 1、类型安全
    2、消除强制类型转换
    3、潜在的性能收益

    2019-07-17 23:22:23
    赞同 展开评论 打赏
  • 泛型更多是在编译层面的优化,简化语法,只是一种类型擦除,运行时和不用泛型没有本质的区别

    2019-07-17 23:22:22
    赞同 展开评论 打赏
  • 能够复用代码

    2019-07-17 23:22:22
    赞同 展开评论 打赏
  • 泛型是对类型的抽象,有些方法不关心类型,就可以用泛型

    2019-07-17 23:22:22
    赞同 展开评论 打赏
  • 泛型的好处

    Java 语言中引入泛型是一个较大的功能增强。不仅语言、类型系统和编译器有了较大的变化,以支持泛型,而且类库也进行了大翻修,所以许多重要的类,比如集合框架,都已经成为泛型化的了。

    这带来了很多好处:

    1,类型安全。 泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。

    2,消除强制类型转换。 泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。

    3,潜在的性能收益。 泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。但是更多类型信息可用于编译器这一事实,为未来版本的 JVM 的优化带来可能。由于泛型的实现方式,支持泛型(几乎)不需要 JVM 或类文件更改。所有工作都在编译器中完成,编译器生成类似于没有泛型(和强制类型转换)时所写的代码,只是更能确保类型安全而已。

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

    泛型在使用中还有一些规则和限制:
    1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。
    2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。
    3、泛型的类型参数可以有多个。
    4、泛型的参数类型可以使用extends语句,例如<T extends superclass>。习惯上成为“有界类型”。
    5、泛型的参数类型还可以是通配符类型。例如Class<?> classType = Class.forName(Java.lang.String);
    泛 型还有接口、方法等等,内容很多,需要花费一番功夫才能理解掌握并熟练应用。在此给出我曾经了解泛型时候写出的两个例子(根据看的印象写的),实现同样的 功能,一个使用了泛型,一个没有使用,通过对比,可以很快学会泛型的应用,学会这个基本上学会了泛型70%的内容。
    2019-07-17 23:22:22
    赞同 1 展开评论 打赏
  • 宇宙虽有其起源,却没有终结。无限。 星球虽也有起源,却因其自身之力走向毁灭。有限。

    参数化类型,即将类型也可视作参数传入,进而增加代码的抽象性和复用性。
    此外,还能在编译时或得编译器的提示和检查,从而相对而言不容易写出问题来。
    最后,java使用类型擦除来实现范型,在编译完的字节码中还是进行了类型强转,只是不需要自己转。

    2019-07-17 23:22:22
    赞同 展开评论 打赏
  • 1.集合类型元素在运行期出现类型转换异常,增加编译时类型的检查
    2.能够复用算法,解决重复代码的编写

    2019-07-17 23:22:22
    赞同 展开评论 打赏
  • 减少程序员不断的进行类型转换,这样就增加了类型的安全,还具有泛型的通用特点,简化程序的编写模型,最大化重用。

    2019-07-17 23:22:22
    赞同 展开评论 打赏
  • 1.类型安全
    2.消除强制转换类型
    3.代码复用率提高

    2019-07-17 23:22:22
    赞同 展开评论 打赏
  • 泛型简单易用,类型安全 泛型的主要目标是实现java的类型安全。 泛型可以使编译器知道一个对象的限定类型是什么,这样编译器就可以在一个高的程度上验证这个类型。消除了强制类型转换 使得代码可读性好,减少了很多出错的机会。Java语言引入泛型的好处是安全简单。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率

    2019-07-17 23:22:22
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载