San*_*eep 3 java generics types java-8
Java通用类型的类型参数部分遵循通用类名称。例如:
class name<T1, T2, ..., Tn> { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
一旦掌握了它,它就非常直观。但是,我完全迷住了在的默认接口方法中看到一些独立的类型参数部分Comparator<T>
。例如:
default <U> Comparator<T> thenComparing(
Function<? super T, ? extends U> keyExtractor,
Comparator<? super U> keyComparator)
Run Code Online (Sandbox Code Playgroud)
显然,该方法将返回某种比较器对象,但是您如何<U>
用英语解释独立式?
它介绍了类型参数本身。如果要编写没有它的方法签名:
Comparator<T> thenComparing(
Function<? super T, ? extends U> keyExtractor,
Comparator<? super U> keyComparator)
Run Code Online (Sandbox Code Playgroud)
这意味着应该存在一些U
对方法可见的具体类型。