Effective Java(第3版)第5章总结

第26条:请不要使用原生态类型

当类有泛型的时候,请不要省略泛型

第27条:消除非受检的警告

IDE提示黄线的地方,应当予以注意

第28条:列表优于数组

泛型数组是非法的,比如:T[] t = new T[1]是非法的

第29条:优先考虑泛型

定义泛型数组虽然非法,但是可以通过强制类型转换来实现:T[] t = (T[]) new Object[1]

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

方法参数和返回值考虑使用泛型

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

PECS:producer-extends,consumer-super。不要使用通配符作为返回类型。

  • 生产者T,使用<? extends T>
  • 消费者T,使用<? super T>
public static <E extends Comparable<? super E>> E max(List<? extends E> list) {
    E result = null;
    for (E e : list) {
        // Comparable 消费者
        if (e != null && e.compareTo(result) > 0) {
            result = e;
        }
    }

    return result;
}

第32条:谨慎并用泛型和可变参数

可变参数就是一个数组,避免和集合类并用

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

没什么好记录的:)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容