在泛型类中实现接口 |爪哇

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

我是函数式接口的新手,在实现我制作的接口时遇到困难。

这就是界面的样子:

@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;
    }

您建议我做什么?

我尝试像实现类一样实现接口。

java
1个回答
0
投票

你的主要问题是

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);
    ...
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.