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 }