Tag: null coalescing operator

空合并操作符的替代方法

使用Java,为了安全地访问像abcde这样的深层嵌套的引用,我们通常必须在每个级别指定空的检查,或者在Optional s中使用orElse() 。 (与像Kotlin / C#这样a?.b?.c?.d?.e语言不同的是, a?.b?.c?.d?.e或类似的语言。 我想知道下面的辅助方法是否是一个合理的选择: public T valueOrNull(Supplier expression) { try { return expression.get(); } catch (NullPointerException e) { return null; } } 这可以安全地使用value = valueOrNull(() -> abcde) 。 注意:我明白捕获NullPointerException通常是由于性能原因等原因而皱起眉头,但想知道这里的用法是否是一个合理的例外。