为什么用泛型?

Posted petewell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么用泛型?相关的知识,希望对你有一定的参考价值。

#为什么用泛型?
一言以蔽之,当你定义类,接口,方法的时候泛型可以使类型(类和接口)作为参数。和声明方法时那些普通的参数相似,类型参数可以使你针对于不同的输入复用代码。但是和普通参数不同的是普通参数的输入是值,而类型参数的输入是类型。

使用参数的代码拥有更多的好处:

  • 更强的编译时类型检查
    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
  • 使编程人员可以实现泛型算法。
    通过使用泛型,编程人员可以实现泛型算法,这些算法可以应用于那些存放不同类型的集合中,这些算法可以被定制,而且具有类型安全和更好的可读性。
    下一页

原文:大专栏  为什么用泛型?


以上是关于为什么用泛型?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 TypeScript 对象不能用泛型类型索引?

为什么要用泛型呢

用泛型和反射实现函数通用

java中啥是泛型,怎么用泛型?

用泛型写Redis缓存与数据库操作工具类

用泛型方法调整Java中泛型数组的大小