Boh*_*ian 14 java generics interface java-7
是否存在JDK的界面,如下所示:
public interface Callback<T> {
public void process(T t);
}
Run Code Online (Sandbox Code Playgroud)
要求是实现运行代码的回调,但不返回任何内容.
我可以编写自己的(通过简单地使用这里的示例代码),但我想使用现有的轮子,如果存在,而不是重新发明一个.
irr*_*ble 10
所以你需要类似的东西
interface Foo<T>
bar(T)
Run Code Online (Sandbox Code Playgroud)
JDK中只有3个接口就是这样
java.nio.file.DirectoryStream$Filter<T>
boolean accept(T entry) throws IOException;
java.lang.Comparable<T>
int compareTo(T o);
javax.xml.ws.Provider<T>
T invoke(T request);
Run Code Online (Sandbox Code Playgroud)
显然你不会喜欢他们.
Async IO有一个回调接口,但它有点复杂:
java.nio.channels.CompletionHandler<V,A>
void completed(V result, A attachment);
void failed(Throwable exc, A attachment);
Run Code Online (Sandbox Code Playgroud)
在 Java 8 中,该类java.util.function.Consumer完全按照您的要求执行。
它有一个非默认方法,该方法接受泛型类型并且不返回任何内容:
public interface Consumer<T> {
void accept(T t);
default Consumer<T> andThen(Consumer<? super T> after) {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1211 次 |
| 最近记录: |