{ /-6ren">
gpt4 book ai didi

Java 8 : Interface with single method

转载 作者:行者123 更新时间:2023-11-30 06:12:38 25 4
gpt4 key购买 nike

有时我需要从一种方法回调到另一种方法:

final Integer i = 5;
final Integer j = 10;
foo("arg1", "arg2", (x, y) -> {
/** do sth which need this context **/
bar(i + x, j - y);
})

但在这种情况下,我需要编写简单的界面(在某处):

public interface someName {
void noMatterName(Integer a, Integer c);
}

然后函数 foo() 可以调用 noMatterName - 这没问题。但在简单的情况下,此类接口(interface)的名称及其功能并不重要。我只想使用带有两个参数的 lambda。

问题:

即使我只需要在两个函数之间进行这种“通信”,我是否需要手动创建此接口(interface)? Java是否提供任何类似的接口(interface)?或者甚至是这样的:

public interface someName1 {
void noMatterName(Object a);
}

public interface someName2 {
void noMatterName(Object a, Object b);
}

最佳答案

您可以使用 Consumer<T> (如果您需要单个参数),以及 BiConsumer<T,U> (如果你需要 2 个参数)功能接口(interface)。

Interface Consumer<T>

Represents an operation that accepts a single input argument and returns no result.

Interface BiConsumer<T,U>

Represents an operation that accepts two input arguments and returns no result.

关于Java 8 : Interface with single method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32633943/

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