我是函数式接口的新手,在实现我制作的接口时遇到困难。
这就是界面的样子:
@FunctionalInterface
interface Operations<T> {
T operate(T o1, T o2);
}
这是我正在尝试构建的功能:
public static <T> T functions(T o1, T o2) {
T holder = SOMETHING.operate(o1, o2);
System.out.println("Result is " + holder);
return holder;
}
您建议我做什么?
我尝试像实现类一样实现接口。
你的主要问题是
public static <T> T functions(T o1, T o2) {
承诺它将适用于呼叫者选择的
任何
T
,而不仅仅是SOMETHING
适用的任何内容。
以下是您可以选择的一些选项:
public static <T> T functions(T o1, T o2, Operations<T> something) {
T holder = something.operate(o1, o2);
...
}
public class Foo<T> {
private final Operations<T> something;
public static T functions(T o1, T o2) {
T holder = something.operate(o1, o2);
...
}
}