msc*_*yna 16 java generics callable
标准Runnable接口只有非参数化run()方法.还有通用类型返回结果的方法Callable<V>接口call().我需要传递泛型参数,如下所示:
interface MyRunnable<E> {
public abstract void run(E reference);
}Run Code Online (Sandbox Code Playgroud)
是否有任何标准接口用于此目的,或者我必须自己声明基本接口?
Ada*_*ski 13
通常,您将实现Runnable或Callable作为支持genertic输入参数的类; 例如
public class MyRunnable<T> implements Runnable {
private final T t;
public MyRunnable(T t) {
this.t = t;
}
public void run() {
// Reference t.
}
}
Run Code Online (Sandbox Code Playgroud)
也有com.google.common.base.Function<F, T>来自谷歌集合番石榴.
如果将输出类型设置为?或Void(并始终使其返回null),则可以将其用作Runnable输入参数的替代方法.
这具有能够用于Functions.compose转换输入值,Iterables.transform将其应用于集合的每个元素等的优点.
| 归档时间: |
|
| 查看次数: |
16035 次 |
| 最近记录: |