Kotlin-де nullable объектінің өрісіне жүгінсеңіз, не болады?
sobes.tech AI
AI-дан жауап
Егер объектінің nullable өрісіне null тексермей жүгінсе, NullPointerException (NPE) қателігі пайда болады.
Қауіпсіз жүгіну үшін келесі тәсілдерді қолдануға болады:
-
Қауіпсіз шақыру операторы (
?.): Егер объектnullболса,nullқайтарады, әйтпесе шақыруды орындайды.// Мысалы, user? User? val userName: String? = user?.name -
!!операторыменnullемес деп дәлелдеу: Объекттіңnullемес екеніне нақты сенімділік береді. Егер олnullболса,NullPointerExceptionтастайды.// Саналы түрде қолдану, NPE-ге әкелуі мүмкін val userName: String = user!!.name -
Элвис операторы (
?:): Егер сол жақтағы объектnullболса, әдепкі мәнді береді.val userName: String = user?.name ?: "Белгісіз қолданушы" -
ifнемесеwhenблоктары арқылыnullтексеру:if (user != null) { val userName = user.name } else { // user null болған жағдайда өңдеу } -
let,run,apply,withфункцияларын қауіпсіз шақырумен қолдану:user?.let { // Бұл блок ішіндегі `it` `null` емес `User` val userName = it.name }
Таңдау бағдарламаның логикасына және объект null болған жағдайда қалаған мінез-құлыққа байланысты. Әдетте, қауіпсіз шақыру операторы (?.) немесе Элвис операторы (?:) қолдану ұсынылады, ал !! операторын абайлап қолдану керек.