gpt4 book ai didi

java - 使用 Java 时简化 null 检查

转载 作者:行者123 更新时间:2023-12-03 03:25:13 24 4
gpt4 key购买 nike

在我的代码中,我需要执行以下操作: System.out.println(obj1.getObj2().getObj3().getObj4());但所有对象都可能为空,所以我必须这样写:

   if (obj1 == null) {
System.out.println("");
}
else if (obj1.getObj2() == null) {
System.out.println("");
}
else if (obj1.getObj2().getObj3() == null) {
System.out.println("");
}
else if (obj1.getObj2().getObj3().getObj4() == null) {
System.out.println("");
}
else {
System.out.println(obj1.getObj2().getObj3().getObj4());
}

我是否可以简化上面的代码?备注:我使用的是J2SE 6.0

最佳答案

当然不是最好的解决方案(但这段代码比 if -else 方法更干净:P.. *可能更慢但更干净*:

public static String getValue(SomeClass obj1) {
String s = "";
try {
s = obj1.getObj2().getObj3().getObj4().toString();
}
catch (NullPointerException ex) {
// set s to something else if you want to.
}
return s;
}

您可以使用:System.out.println(getValue(obj1));

关于java - 使用 Java 时简化 null 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35449474/

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