猿问

Java 泛型中的独立类型参数

Java 泛型类型的类型参数部分位于泛型类名之后。例如:

class name<T1, T2, ..., Tn> { /* ... */ }

一旦你掌握了它的窍门,它就会非常直观。然而,我完全被难住了,在 的默认接口方法中看到一些独立的类型参数部分Comparator<T>。例如:

default <U> Comparator<T> thenComparing(
        Function<? super T, ? extends U> keyExtractor,
        Comparator<? super U> keyComparator)

显然该方法返回某种比较器对象,但是如何用<U>英语解释独立式?


慕娘9325324
浏览 93回答 1
1回答

HUX布斯

它引入了类型参数本身。如果您要编写没有它的方法签名:Comparator<T>&nbsp;thenComparing( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Function<?&nbsp;super&nbsp;T,&nbsp;?&nbsp;extends&nbsp;U>&nbsp;keyExtractor, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comparator<?&nbsp;super&nbsp;U>&nbsp;keyComparator)这意味着,应该存在一些名为U对该方法可见的具体类型。
随时随地看视频慕课网APP

相关分类

Java
我要回答