我试图通过简单的示例更好地理解番石榴 API:首先我实例化返回“hello”的 ListenableFuture 然后我使用 Futures.transform() 将我的“hello”转换为“HELLO”但我没有得到任何结果。
这是我的代码(我删除了 ListenableFuture 实现中的其他方法以使事情变得更容易):
public static void main(String[] args) throws InterruptedException, ExecutionException {
ListenableFuture<String> future = getString();
ListenableFuture<String> future2 = Futures.transform(future, new Function<String,String>() {
@Override
public String apply(String input) {
return input.toUpperCase();
}
});
System.out.println(future.get()); //print "hello"
System.out.println(future2.get()); //blocking, never ends...no result
}
private static ListenableFuture<String> getString() {
return new ListenableFuture<String>() {
@Override
public String get() throws InterruptedException, ExecutionException {
return "hello";
}
};
}
HUX布斯
相关分类