我正在学习编写一些 lambda 表示形式功能接口 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/FunctionalInterface.html。
因此,为了添加两个整数,我使用了:
BiFunction<Integer, Integer, Integer> biFunction = (a, b) -> a + b;
System.out.println(biFunction.apply(10, 60));
给我输出70。但如果我这样写
BinaryOperator<Integer, Integer, Integer> binaryOperator = (a, b) -> a + b;
我收到一条错误消息
类型参数的数量错误:3;必需:1
Isn't BinaryOperator
的孩子BinaryFunction
?我该如何改进它?
BinaryOperator https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/BinaryOperator.html
Since BinaryOperator
工作于单一类型的操作数和结果. i.e. BinaryOperator<T>
.
BinaryOperator 不是 BinaryFunction 的子级吗?
Yes. BinaryOperator
does extends BiFunction
。
但请注意文档状态(格式化我的):
这是一个专业化BiFunction
对于以下情况操作数和结果都是同类型
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)