接着上期继续看本书高质量编码建议26~28条的阅读笔记
26.优先考虑泛型
引用书中的话“一般来说,将集合声明参数化,以及使用JDK所提供的泛型和泛型方法,这些都不太困难。编写自己的泛型会比较困难一些,但是值得花些时间去学习如何编写”。
当在编写不可避免要使用数组时,可参考以上两种数组和泛型的实现方式。
27.优先考虑泛型方法
泛型方法即在定义方法的返回值前加上<E>,例如Collections.sort方法,至于优点不再多说,一句话能用泛型尽量用泛型。
public static <T> void sort(List<T> list, Comparator<? super T> c)
这个方法的第二个参数实际上是下条要提到的有限制通配符。
28.利用无限制的通配符提高API的灵活性
之前我们提到了<?>形式的无限制通配符,这里则是有限制通配符。上一条目中已经出现了有限制通配符,它一共有这么2种:
<? extends E>:表示可接受E类型的子类型;
<? super E>:表示可接受E类型的父类型。