gpt4 book ai didi

java - Java 中的方法引用 unil BiFunction

转载 作者:搜寻专家 更新时间:2023-11-01 01:32:42 25 4
gpt4 key购买 nike

我对在 java (util) 函数中将方法引用作为参数传递有疑问。

我有两个功能

Function<Value, Output> f1 = (val) -> {
Output o = new Output();
o.setAAA(val);
return o;
};

Function<Value, Output> f2 = (val) -> {
Output o = new Output();
o.setBBB(val);
return o;
};

我想把它们合并成一个看起来应该像这样的函数

BiFunction<MethodRefrence, Value, Output> f3 = (ref, val) -> {
Output o = new Output();
Output."use method based on method reference"(val);
return o;
};

我想像这样使用这个功能

f3.apply(Output::AAA, number);

这可能吗?我想不出正确的语法,如何实现这样的功能。

最佳答案

看起来你想要一个像这样的函数

BiFunction<BiConsumer<Output,Value>, Value, Output> f = (func, val) -> {
Output o = new Output();
func.accept(o, val);
return o;
};

你可以这样调用

f.apply(Output::setAAA, val);
f.apply(Output::setBBB, val);

关于java - Java 中的方法引用 unil BiFunction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35067416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com