为什么要使用泛型?

简而言之,泛型使* types *(类和interface)成为定义类,interface和方法时的参数。就像在方法声明中使用的更熟悉的“形式参数”一样,类型参数为您提供了一种使用不同 Importing 重复使用相同代码的方法。区别在于形式参数的 Importing 是值,而类型参数的 Importing 是类型。

与非泛型代码相比,使用泛型的代码具有许多优点:

  • 在编译时进行更强的类型检查。
    Java 编译器对通用代码进行强类型检查,如果代码违反类型安全性,则发出错误。修复编译时错误比修复运行时错误容易,后者可能很难找到。

  • 消除演员阵容。
    以下不带泛型的代码段需要强制转换:

List list = new ArrayList();
list.add("hello");
String s = (String) list.get(0);

当重写以使用泛型时,代码不需要强制转换:

List<String> list = new ArrayList<String>();
list.add("hello");
String s = list.get(0);   // no cast
  • 使程序员能够实现通用算法。
    通过使用泛型,程序员可以实现对不同类型的集合工作的泛型算法,可以对其进行自定义,并且类型安全且易于阅读。