java-8 - 使用选项重写 if else null 检查

标签 java-8 option-type

有没有办法使用Optional和lambdas以更简洁和清晰的方式重写它?

private boolean pricingIndicator(AvgBuySellPriceTerm avgBuySellPriceTerm){
    if(avgBuySellPriceTerm == null){
        return false;
    }else{
        if(avgBuySellPriceTerm.getIndicator()!= null && ! avgBuySellPriceTerm.getIndicator().isEmpty()){
            return true;
        }else{
            return false;
        }
    }
}

最佳答案

这是一个关于可选的建议:

private boolean pricingIndicator(AvgBuySellPriceTerm avgBuySellPriceTerm){
    return Optional.ofNullable(avgBuySellPriceTerm)
                   .map(AvgBuySellPriceTerm::getIndicator)
                   .map(i -> !i.isEmpty()) // return true if getIndicator
                                           // is not empty
                   .orElse(false);
}

关于java-8 - 使用选项重写 if else null 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55219829/

相关文章:

java - 将 isPresent 替换为 ifPresent 和 orElse

swift - 在 Swift 中,为什么我必须强制展开用 !在三元表达式中使用它们之前?

java - 为什么reduce combiner函数没有执行?

Java流——查找唯一元素

java - 将 HashSet 的内容与 map 进行比较

Java 8 Stream.findAny() 与在流中查找随机元素

java-8 - Lombok @Builder.Default 强制默认可选值为 null

java - CompletableFuture 能否用于创建非阻塞 I/O 调用?

swift - 可选 NSArray - Anyobject 没有下标成员

objective-c - 是什么让 Swift 的 "Optional"比 Objective-C 的 "nil"更安全?