我有这些互补的未来:
CompletableFuture<Info> futureA =
createFutureA(multipleItems, startDate, source, context);
CompletableFuture<PPPInfo> futureB =
createFutureB(multipleItems, startDate, source, context);
CompletableFuture<Void> combinedFuture = CompletableFuture.allOf(futureA, futureB);
字符串futureA
调用createFutureA
,可以在下面看到:
private CompletableFuture<PPPInfo> createFutureA(
MultipleItems multipleItems,
String startDate,
Source source,
Context context) {
return CompletableFuture.supplyAsync(
() ->
getItemAPrice(
Double.parseDouble(multiplePrices.getItemA().getPrice()),
startDate,
source,
ITEMA,
context));
}
型
在某些情况下,multiplePrices.getItemA()
是null
,这会导致createFutureA
中的NullPointerException
,并且当应用程序调用combinedFuture.get()
时会出现问题。如果futureA
为null,我应该如何处理?
1条答案
按热度按时间to94eoyn1#
您需要在
createFutureA
中处理null。如果
multiplePrices.getItemA()
是一个常规(同步)函数,则可以使用下面的方法。字符串
如果
multiplePrices.getItemaA()
也是一个pixrc函数,返回一个可完成的future,下面的代码就可以工作。型