【发布时间】:2017-03-26 07:55:05
【问题描述】:
这是我正在使用的界面:
interface Command {
void run(int a, int b, int c);
void run(int a, int b, int c, int d, int e);
}
void add(Command c){
}
这是执行:(使用第一次运行方法)
add((a, b, c) -> System.out.println(""));
我在执行时遇到的错误是:
The target type of this expression must be a functional interface
只有当我注释掉第二个运行方法时,这种情况才会消失。
我希望能够使用两种运行方法来执行相同的界面,而不必创建一个新的界面来执行方法 2。
怎么做?
【问题讨论】:
-
假设我正在实现您的
add方法。你用add((a, b, c) -> System.out.println(""));调用它。如果在add的实现中,我调用c.add(1,2,3,4,5);,你期望会发生什么?为什么会这样?
标签: java interface functional-programming expression