【发布时间】:2021-11-08 13:56:05
【问题描述】:
我有以下代码:
String a= null
Element element = ...
if(element == null) {
System.out.println("...");
}
a = element.getText();
我在这段代码中遇到了一个空指针异常。 我认为最好使用 if else 语句以避免此错误。
String a= null
Element element = ...
if(element == null) {
System.out.println("...");
} else {
a = element.getText();
}
使用上面的代码解决问题是一个好的解决方案还是用另一种方式管理它会更好?
【问题讨论】:
-
第二种方法正确地处理了避免
element的 NPE 的情况。但是,您需要进一步考虑的是,如果element是null,a可能是null。 -
空值有破坏代码的趋势,因为您根本不能将它用作对象。您可能会发现,尽可能避免使用空值的样式编码是有益的。 Java 已经添加了一些库来帮助您,但它并没有强制执行它。如果您需要包装器,请查看 Optional。
-
对所显示代码的注释(与您的问题没有直接关系):如果
element是null,System.out.println("...");可能意味着错误消息。抛出异常可能是更好的选择。