Why Use Generics?

本文最后更新于 2024年3月19日 上午

简而言之,泛型使类型(类和接口)能够在定义类、接口和方法时成为参数。与方法声明中使用的更熟悉的形式参数非常相似,类型参数提供了一种通过不同输入重复使用相同代码的方法。区别在于形式参数的输入是值,而类型参数的输入是类型。

使用泛型的代码比非泛型代码有很多好处:

  • 编译时更强的类型检查。

    Java 编译器对泛型代码应用强类型检查,如果代码违反类型安全,则会发出错误。修复编译时错误比修复运行时错误更容易,后者很难发现。

  • 消除类型转换

    以下没有泛型的代码片段需要强制转换:

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

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

    1
    2
    3
    List<String> list = new ArrayList<String>();
    list.add("hello");
    String s = list.get(0); // no cast
  • 使程序员能够实现通用算法。

    通过使用泛型,程序员可以实现适用于不同类型集合的泛型算法,可以自定义,并且类型安全且更易于阅读。


Why Use Generics?
https://stein283036.github.io/2024/03/18/Why-Use-Generics/
作者
倪京龙
发布于
2024年3月18日
更新于
2024年3月19日
许可协议