Перед вызовом функции объекта мне нужно проверить, является ли объект нулевым, чтобы избежать выброса NullPointerException
.Лучший способ проверить нулевые значения в Java?
Каков наилучший способ для этого? Я рассмотрел эти методы.
Какая из лучших программ для 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...
}
Никогда не перехватывайте исключения исключений в виде указателей. Он попадает в категорию «Исключенные ошибки» http://blogs.msdn.com/б/ericlipp ert/archive/2008/09/10/vexing-exceptions.aspx –
@NickFreeman Я так и думал, я просто добавил это для ясности, спасибо за объяснение, почему, хотя –
В зависимости от вашего варианта использования также может иметь смысл запретить «null» 'значения для' foo' и бросать 'NullPointerException', если' null' foo передается вашему методу. – assylias