Одной из распространённых ситуаций при работе с объектами в Java является проверка принадлежности объекта к определённому классу или интерфейсу. Для этого в Java используется оператор instanceof
.
if (object instanceof SomeClass) { // Делаем что-то }
Но что произойдет, если object
будет равен null
? Возникнет ли исключение NullPointerException
или же просто вернется false
?
В Java, если вы используете оператор instanceof
с null
, он просто вернёт false
. Это происходит потому, что null
не является экземпляром какого-либо класса.
Object object = null; if (object instanceof SomeClass) { // false // Данный блок кода не будет выполнен }
Таким образом, можно сказать, что в Java проверка на null
перед использованием оператора instanceof
необязательна. Однако, стоит учесть, что в других случаях, например, при вызове метода на null
-объекте, будет выброшено исключение NullPointerException
.
В общем, всегда стоит быть аккуратным при работе с null
в Java и помнить о том, какие операторы и методы могут вызвать исключение NullPointerException
.
Добавить комментарий