Java泛型

我们经常看到形如Map<String,Object>List<User>这样的用法。

那么,这样做,有什么用呢?
核心:使用泛型的主要优点是能够在编译时而不是在运行时检测错误。

大家知道map、list叫做容器,容器可不可以给他贴上标签,规定这是用来装什么东西的呢?

  • 因此,泛型就是标签,这样可以让我们,更重要的是让程序知道,这个容器是装什么的。在编译程序时,就可以直接检查是否违反了规定,而不是等到运行时才报错。

  • 另外,就算没有报错,但是也存在隐患。当不声明反省时,容器默认是装Object,那么在具体装对象时,就肯定会有强制类型转换。强制类型转换是存在ClassCastException异常的。
    我们声明泛型之后,就规定了容器类型,避免了强制类型转换的发生。有指定类型才可以添加到集合中:类型安全。

自定义泛型结构

posted @ 2021-09-28 17:48  快乐的海盗  阅读(29)  评论(0)    收藏  举报