我有以下代码:
for (final String productId : entry.getValue()) {
final Product pro = catalogAwareRepository.findUniqueByCatalogAndVersion(Constants.Id, productId, catalog, version, Product.class);
if (pro != null) {
productDTOs.add(productConverter.itemDTOfFromItem(product));
}
}
我将它转换为使用这样的Java 8流:
entry.getValue()
.parallelStream()
.map(productId -> catalogAwareRepository.findUniqueByCatalogAndVersion(Constants.Id, productId, catalog, version, Product.class))
.forEach(pro -> productDTOs.add(productConverter.itemDTOfFromItem(pro)));
这是正确的翻译吗?另外,如何在null
操作中执行parallelStream
检查?
Tunaki建议后的翻译
entry.getValue().parallelStream().map(productId -> catalogAwareRepository.findUniqueByCatalogAndVersion(Constants.Id, productId, catalog, version, Product.class))
.filter(Objects::nonNull).map(pro -> productDTOs.add(productConverter.itemDTOfFromItem(pro))).collect(Collectors.toList());