Java泛型
我们经常看到形如Map<String,Object>或List<User>这样的用法。
那么,这样做,有什么用呢?
核心:使用泛型的主要优点是能够在编译时而不是在运行时检测错误。
大家知道map、list叫做容器,容器可不可以给他贴上标签,规定这是用来装什么东西的呢?
-
因此,泛型就是标签,这样可以让我们,更重要的是让程序知道,这个容器是装什么的。在编译程序时,就可以直接检查是否违反了规定,而不是等到运行时才报错。
-
另外,就算没有报错,但是也存在隐患。当不声明反省时,容器默认是装Object,那么在具体装对象时,就肯定会有强制类型转换。强制类型转换是存在
ClassCastException异常的。
我们声明泛型之后,就规定了容器类型,避免了强制类型转换的发生。有指定类型才可以添加到集合中:类型安全。

浙公网安备 33010602011771号