在调用对象的函数之前,我需要检查对象是否为空,以避免抛出 NullPointerException
。
解决此问题的最佳方法是什么?我考虑过这些方法。
哪一个是 Java 的最佳编程实践?
// Method 1
if (foo != null) {
if (foo.bar()) {
etc...
}
}
// Method 2
if (foo != null ? foo.bar() : false) {
etc...
}
// Method 3
try {
if (foo.bar()) {
etc...
}
} catch (NullPointerException e) {
}
// Method 4 -- Would this work, or would it still call foo.bar()?
if (foo != null && foo.bar()) {
etc...
}
原文由 JamieGL 发布,翻译遵循 CC BY-SA 4.0 许可协议
方法4最好。
将使用 短路评估,这意味着如果
logical AND
的第一个条件为假,则结束。