gpt4 book ai didi

java - 检查 null 的优雅方法

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:53 24 4
gpt4 key购买 nike

使用 hibernate 我多次使用这种代码:

int someId = entity.getSomething() == null ? null : entity.getSomething().getId();

当尝试在更长的层次结构上应用时,这段代码会变得有点困惑:

int someId = entity.getParent() == null ? null : 
entity.getParent().getParent() == null ? null :
entity.getParent().getParent().getSomething() == null ? null :
entity.getParent().getParent().getSomething().getId();

有没有更优雅的方法呢?

最佳答案

根据 Louis Wasserman 的评论,Optional 几乎可以用作 NullObject a'la flogy 的解决方案。

使用 Java 8 Optional 和 lambda 看起来像这样

Integer value = Optional.ofNullable(entity)
.map( Entity::getParent )
.map( Entity::getParent )
.map( Entity::getSomething )
.map( Something::getId )
.orElse(null);

关于java - 检查 null 的优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32087269/

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