gpt4 book ai didi

java - 访问属性的属性的属性时检查空值的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-02 04:06:46 26 4
gpt4 key购买 nike

在类作为其他类的属性嵌入的常见情况下,检查空值的最佳方法是什么?

为了说明我在说什么,假设我想访问 this.getObject1().getObject2().someMethod() 其中 getObject1()getObject2() 可能返回 null。现在我正在做以下事情,这很丑陋,必须有更好的方法:

if (this.getObject1() != null)
if (this.getObject1().getObject2() != null)
if (this.getObject1().getObject2().someMethod())
return whatever;

为了避免 NPE,我必须在访问 someMethod() 之前在每一步检查是否有空值。有什么更好的方法来实现这一目标?

最佳答案

另一种选择是将每个方法的结果设置为变量,这样您就不必每次都重新调用该方法。所以,像这样

Object obj1 = this.getObject1();
if (null != obj1)
{
Object obj2 = obj1.getObject2();
if (null != ob2)
{
Object obj3 = obj2.someMethod();
if (null != obj3)
return whatever;
}
}

如果这些方法并不昂贵,您可以选择更少的代码,通过在同一个 if 中完成所有操作,就像 Chris Nava 的解决方案

关于java - 访问属性的属性的属性时检查空值的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11678074/

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