其中第30行代码是
看了半天都看不懂public static <T extends Comparable> Pair<T> minmax(T[] a)
这段代码来源于Java2核心技术 第7版 第1卷 P665页,虽然这部书是经典图书,但是这个地方写得真得不好。
看了很长时间都没有看懂,去新华书店翻开了 李兴华的《Java开发实战经典》和李刚《疯狂Java讲义》两本书的
相关部分后,终于弄懂了。看来有时候一段复杂的技术代码刚刚接触的时候,无法弄懂不一定是自己笨,而是很可能是
作者的原因。
泛型方法的语法
[访问权限修饰符] [static] [final] <类型参数列表> 返回值类型 方法名([形式参数列表])
[]表示为可选的。
public static <T extends Comparable> Pair<T> minmax(T[] a)
<T extends Comparable> 是指 类型参数列表,安装李兴华一书的原话来说T是个未知的类型,由调用它(指泛型方法本身)的具体参数来决定的类型。【方法中传入或返回的泛型类型由调用方法时所设置的参数类型所决定。李兴华一书的原句】
可用extends 和 super 关键字分别来 指定 上限 和下限 类型。
Pair<T> 是返回值。
minmax 参数名
T[] a 形式参数列表