Java: Parameterized Runnable

mschayna picture mschayna · Nov 2, 2009 · Viewed 16.7k times · Source

Standard Runnable interface has only non-parametrized run() method. There is also Callable<V> interface with call() method returning result of generic type. I need to pass generic parameter, something like this:

interface MyRunnable<E> {
  public abstract void run(E reference);
}
Is there any standard interface for this purpose or I must declare that basic one by myself?

Answer

Adamski picture Adamski · Nov 2, 2009

Typically you would implement Runnable or Callable as a class that supported a genertic input parameter; e.g.

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

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

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