Methods 理解终端操作方法的声明
通常,方法的声明显示其返回类型、方法完整路径和参数。但当我看到方法Methods 理解终端操作方法的声明,methods,declaration,return-type,collectors,Methods,Declaration,Return Type,Collectors,通常,方法的声明显示其返回类型、方法完整路径和参数。但当我看到方法java.util.stream.stream.collect时,我感到困惑 该方法似乎有两种返回类型: <List<Integer>, Object> List<Integer> java.util.stream.Stream.collect(Collector<? super Integer, Object, List<Integer>> collector) 列出
java.util.stream.stream.collect时,我感到困惑
该方法似乎有两种返回类型:
<List<Integer>, Object> List<Integer> java.util.stream.Stream.collect(Collector<? super Integer, Object, List<Integer>> collector)
列出java.util.stream.stream.collect(收集器查看方法声明:
public interface Stream<T> extends BaseStream<T, Stream<T>> {
...
/* ...
* @param <R> the type of the result
* @param <A> the intermediate accumulation type of the {@code Collector}
* ...
*/
<R, A> R collect(Collector<? super T, A, R> collector);
...
}
公共接口流扩展了BaseStream{
...
/* ...
*@param结果的类型
*@param关于泛型方法。第一件事不是返回类型,它为泛型类型参数R和a指定类型。阅读javadoc可能会有所帮助。该方法返回R,因此返回类型必须与从这些链接读取的类型参数相同,在回答之后,我现在明白了。