gpt4 book ai didi

java - 如何在 lambda 函数中延迟初始化 Map?

转载 作者:行者123 更新时间:2023-12-02 09:36:11 25 4
gpt4 key购买 nike

我想运行 lambda 函数并收集转换期间发生的异常映射。

问题:我不希望之前实例化我的 Map,因为大多数计算运行都会完成,不会出现任何错误。

因此,我试图实现以下目标:

Map<Integer, Throwable> errors;

Arrays.asList(1, 2, 3).stream().map(number -> {
try {
return heavyComputation(number);
} catch (Exception ex) {
if (errors == null) errors = new LinkedHashMap<>(); //TODO
errors.put(number, ex);
return null;
}
}).collect(Collectors.toList());

问题:如何延迟初始化我的错误映射?

最佳答案

稍微改变一下你的方法。在 stream().map() 中,返回值或错误容器,而不仅仅是值。例如,看看 CompletableFuture

关于java - 如何在 lambda 函数中延迟初始化 Map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57497707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com