功能接口作为方法参数

问题描述 投票:1回答:2

写完我自己的通用功能接口并将其与lambda结合使用后,我必须在一种新方法中使用它:

  • 处理一个通用数组作为输入,并检查其最小长度为4个
  • 处理我的功能接口的任何实例
  • 处理lambda表达式的任何实例,该实例接受一个参数,但不返回任何内容
  • 应用于您的功能接口实例的结果(这里我想我必须使用使用者)。

以前从未使用过功能接口,有人可以解释一下我应该如何将2个功能接口作为方法参数来传递?

例如通话:

applyTransformations(new Integer[]{1,2,3,4}, add, printer);
@FunctionalInterface
public interface MyFunctionalInterface<T> {
    public T doOperation(T param1, T param2, T param3, T param4);
}
public class Lambdas {
    MyFunctionalInterface<Integer> add = (i1, i2, i3, i4) -> i1 + i2 + i3 + i4;
    MyFunctionalInterface<Integer> multiply = (i1, i2, i3, i4) -> i1 * i2 * i3 * i4;
    MyFunctionalInterface<String> concatenate = (s1, s2, s3, s4) -> s1 + s2 + s3 + s4;
    MyFunctionalInterface<String> concatenateWithSpacesBetween = (s1, s2, s3, s4) -> s1 + " " + s2 + " " + s3 + " " + s4;
}
java lambda functional-interface
2个回答
3
投票
有人可以解释一下我应该如何将2个功能接口作为方法参数来传递?

2
投票
© www.soinside.com 2019 - 2024. All rights reserved.