【发布时间】:2018-09-27 20:13:45
【问题描述】:
我想知道为什么 ToDoubleBiFunction 不扩展 BiFunction。我就是这样做的:
import java.util.function.BiFunction;
public class Test {
public static void main(String[] args) {
MyToDoubleBiFunction<Integer, Integer> f = (a, b) -> a.doubleValue() + b.doubleValue();
System.out.println(f.apply(1, 2));
}
}
@FunctionalInterface
interface MyToDoubleBiFunction<T, U> extends BiFunction<T, U, Double> {
}
此代码有效并打印3.0。
另外,使用罗嗦的applyAsDouble 方法而不是众所周知的apply 有什么意义?
【问题讨论】:
-
MyToDoubleBiFunction.apply的结果类型为Double而ToDoubleBiFunction.applyAsDouble的结果类型为double。
标签: java