泛型

第 26 条:请不要在新代码中使用原生态类型

原生态类型只为了与引入泛型之前的遗留代码进行兼容和互用而提供的。

List 原生态类型

List 泛型

第 27 条:消除非受检警告

如果无法消除警告,同时可以证明引起警告的代码是类型安全的,只有在这种情况下才可以用一个 @SuppressWarnings(“unchecked”) 注解来禁止这条警告。

第 28 条:列表优先于数组

第 29 条:优先考虑泛型

第 30 条:优先考虑泛型方法

第 31 条:利用有限制通配符来提升API的灵活性

限定通配符包括两种:

  1. 表示类型的上界,格式为:<? extends T>,即类型必须为T类型或者T子类
  2. 表示类型的下界,格式为:<? super T>,即类型必须为T类型或者T的父类

第 32 条: 明智地结合泛型和可变参数

第 33 条:优先考虑类型安全的异构容器

异构容器

异构容器是指能够容纳不同类型对象的容器。像我们通常用的ListMap等容器,它们的原生态类型本身就是异构容器,一旦给它们设置了泛型参数,例如ListMap,它们就不再是异构容器。

Author: iMine
Link: https://imine141.github.io/2020/07/27/Effective%20java/%E6%B3%9B%E5%9E%8B/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.