Назад к вопросам
Junior
67
questionbank
Что произойдет, если обратиться к полю объекта, который может быть равен null?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
NullPointerException (NPE). Происходит, когда пытаешься вызвать метод или обратиться к полю объекта, ссылка на который равна null.
Пример:
data class User(val name: String)
fun printUserName(user: User?) {
// Если user == null, здесь произойдет NullPointerException
println(user.name)
}
Чтобы избежать NPE, можно использовать:
- Проверки на null:
fun printUserName(user: User?) { if (user != null) { println(user.name) } else { println("User is null") } } - Оператор безопасного вызова (
?.):fun printUserName(user: User?) { println(user?.name) // Выведет null, если user == null, иначе имя } - Оператор Элвиса (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Default Name" // Присвоит "Default Name", если user?.name == null println(userName) } - Ненулевые типы (в Kotlin):
// Этот метод принимает только ненулевой объект User fun printUserName(user: User) { println(user.name) // Гарантировано не null }