Junior
Эгер объекттин null болушу мүмкүн болгон талаасына кайрылсаңыз, эмне болот?
sobes.tech AI
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("Колдонуучу null") } } - Коопсуз чакыруу оператору (
?.):fun printUserName(user: User?) { println(user?.name) // Эгер user null болсо, null чыгат, башкача айтканда аты } - Элвис оператору (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Дефолт аты" // Эгер user?.name null болсо, "Дефолт аты" берилет println(userName) } - Kotlinдеги нөлгө барабар эмес типтер:
// Бул метод гана нөлгө барабар эмес User объектисин кабыл алат fun printUserName(user: User) { println(user.name) // Нөл эмес деп кепилдик берилген }