【发布时间】:2015-08-21 11:35:10
【问题描述】:
在阅读Stream接口源代码时,我发现了这个方法签名:
<R> Stream<R> map(Function<? super T, ? extends R> mapper);
我想知道为什么mapper的输入类型是? super T而输出类型是? extends R,为什么不同时使用? extends呢?
【问题讨论】:
-
super和extends的区别已经在这里回答了:stackoverflow.com/questions/1368166/…
-
我知道区别,但我想知道他们为什么这样做?
-
如果你不介意不同的表示法,这里有一个实际的谈话来解释它channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/…