- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道为什么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
?
最佳答案
BiFunction
具体版本要点如ToDoubleBiFunction
是要避免auto(un)boxing - 在这种情况下,自动装箱/取消装箱原语 double
与 java.lang.Double
之间的值对象。
如果ToDoubleBiFunction
将延长BiFunction<T, U, Double>
那么你就会有自动(取消)装箱。
请注意,您不能在 Java 中使用基本类型作为类型参数,因此 BiFunction<T, U, double>
(注意 double
是这里的原始类型)是不可能的。
关于java - 为什么 ToDoubleBiFunction 不扩展 BiFunction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52544476/
我想链接 BiFunctions,就像下面代码示例中的方法 chainWanted 一样。 BiFunction 将 Function 作为 AndThen 的参数。是否有可能以某种方式链接 BiFu
我遇到了以下问题:一个方法应该接受一个带有 2 个参数的双函数 - 一个是类型 Collection另一个是T ;实际功能实际上可能是 Collection::remove或 Collection::
我有一张 map ,我想在其中数数。在 Java 8 之前,我必须在映射中为每个键放置一个零,然后才能像 map.put(key, map.get(key)+1). 从 Java 8 开始,我现在可以
这个(大大简化的)代码无法为我编译。不知道为什么。返回类型为 Entry?和 null对我来说似乎是一个有效的值(value)。 val foo = BiFunction, Entry?> { foo
我想编写一个接收 List l 的通用方法和两个 BiFunction f1, f2并返回以下表达式的结果: (a0 + a1) * (a2 + a3) *...*(a_{n-1} + an) * a
这个问题已经有答案了: Why doesn't Java 8's ToIntFunction extend Function (2 个回答) 已关闭 4 年前。 我想知道为什么ToDoubleBiFu
传统的函数式语言在列表的初始值和累加器方面考虑减少。在 Java 中,事情更复杂,因为它需要 BinaryOperator。 我想知道我们是否有更好的方法来编写这种函数: public JsonObj
我一直只使用 Java 6,现在正 catch 学习 Java 8 中的新功能。我在这里阅读了这篇文章: http://www.drdobbs.com/jvm/lambda-expressions-i
我正在尝试从列表中识别其前身大于其值的数字。 在 lambda 表达式中,如果我返回 b,它的行为符合预期,但如果我返回 a,它会给出错误的输出。 这两个返回语句有什么区别? List lis
在尝试使用方法引用时,遇到了可以将 concat 方法用作 BiFunction 的情况,据我所知,BiFunction apply 方法需要 2 个输入参数并产生一个结果。然而,concat 方法接
我对在 java (util) 函数中将方法引用作为参数传递有疑问。 我有两个功能 Function f1 = (val) -> { Output o = new Output();
这个问题在这里已经有了答案: How to print two lists together using Stream API java 8? (3 个答案) 关闭 7 年前。 我需要知道如何申请
我创建了一个 GenericFunction 类,它实现了 Function 和 BiFunction。但是无法编译。 public class GenericFunction implements
BiFunction 接口(interface)的定义包含一个方法 apply(T t, U u),它接受两个参数。但是,我不明白这个接口(interface)和方法的用途或目的。我们需要这个接口(i
我一直在尝试使用 Java 进行函数式编程。但是,当我在类中使用功能接口(interface)作为一级变量时,编译时无法识别我的变量。 我试图将其设为 main 中的局部变量,但收到了相同的结果。 我
我正在尝试将我的 Java 类转换为 Kotlin。这是Java代码: Observable.just("Stacey") .zipWith(Observable.just(6), (
我不明白为什么Map.compute()和Map.computeIfPresent()拿BiFunction参数以及Map.computeIfAbsent()一个Function : V comput
考虑以下简化的测试用例: import java.util.AbstractList; import java.util.Collection; import java.util.Iterator;
我不明白为什么Map.compute()和 Map.computeIfPresent()拿BiFunction参数以及 Map.computeIfAbsent()一个Function : V comp
在初始化 TreeMap、TreeSet 等集合时,我们可以添加自定义比较器。代码看起来像这样: Map map1 = new TreeMap<>(new Comparator() { pub
我是一名优秀的程序员,十分优秀!