[JAVA基础]JAVA中为什么引入范型?

来源:互联网 发布:仿真软件proteus6 编辑:程序博客网 时间:2024/06/05 16:35

原文:https://docs.oracle.com/javase/tutorial/java/generics/why.html

个人译文:

简而言之,范型 就是指在定义类、接口或者方法时,可以将类型(指类或者接口)变成参数。这一点很像在普通方法声明中的形式参数,类型参数(type parameters)可以随着不同的输入,让你重复使用相同的代码。与普通方法声明中不同的是,传给形式参数的是变量值,而传给类型参数的是类型(类或则接口)
使用范型的代码将比不使用范型的代码具有以下好处:
1.在编译期执行更加强健的类型检查。
Java编译器对范型代码使用更佳强健的类型检查,如果违反了类型安全,则将报告错误。修正编译时错误比修正运行期错误简单多了,运行期错误很难定位。
2.消除类型转换的声明
下面没有使用范型的代码片段需要用到类型转换声明。(注意加粗部分)

          
List list = new ArrayList();list.add("hello");String s = (<strong>String</strong>) list.get(0);
          而同样的代码,使用了范型后,则不需要类型转换声明。
List<String> list = new ArrayList<String>();list.add("hello");String s = list.get(0);   // 不需要声明类型转换

3.程序员可以实现范型算法
          用了范型后,程序员可以实现针对不同类型的集合的范型算法,该算法可以被定制化,并且是类型安全的、更佳易于阅读。 



0 0