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) // Ցուցադրում է null, եթե user == null, հակառակ դեպքում անունը } - Էլվիս օպերատոր (
?:):fun printUserName(user: User?) { val userName = user?.name ?: "Նախնական անուն" // Եթե user?.name null է, կկցվի "Նախնական անուն" println(userName) } - Kotlin-ի ոչ-null տիպեր՝
// Այս մեթոդը ընդունում է միայն ոչ-null User օբյեկտ fun printUserName(user: User) { println(user.name) // Անհրաժեշտ է, որ ոչ null լինի }