Java:参数化运行

2022-09-02 09:08:58

标准接口只有非参数化方法。还有一个接口,其方法返回泛型类型的结果。我需要传递泛型参数,如下所示:Runnablerun()Callable<V>call()

interface MyRunnable<E> {
  public abstract void run(E reference);
}
是否有任何用于此目的的标准接口,或者我必须自己声明该基本接口?

答案 1

通常,您将实现或支持泛型输入参数的类。例如:RunnableCallable

public class MyRunnable<T> implements Runnable {
  private final T t;

  public MyRunnable(T t) {
    this.t = t;
  }

  public void run() {
    // Reference t.
  }
}

答案 2

Java 8 包括 java.util.function.Consumer<T> 接口,其中包含单个非默认方法。void accept(T t)

软件包中还有许多其他相关接口。


推荐