Sobes.tech
Junior

Коддо null маанилерди кантип текшерүү керек?

sobes.tech AI

AIден жооп

Kotlinде nullable типтер менен иштөө жана null текшерүү үчүн төмөнкү ыкмалар колдонулат:

  1. Коопсуз чакыруу оператору (?.): Объекттин методдорун чакыруу же мүлктөрүнө кирүү объект null эмес болсо гана мүмкүн. Эгер объект null болсо, бардык чакыруу null кайтарат.

  2. Элвис оператору (?:): Оң жактагы билдирүү null болсо, алдын ала белгиленген маанини камсыз кылат.

  3. Коопсуз эмес чакыруу оператору (!!): Nullable типти non-nullable кылат. Эгер мааниси null болсо, NullPointerException чыгат. Колдонуусу катуу сунушталбайт, анткени ал тиркеменин үзүлүшүнө алып келиши мүмкүн.

  4. if блоку менен null текшерүү: Традициялык ыкма, көбүнчө Kotlinдин smart castтары менен колдонулат.

// Коопсуз чакыруу оператору ?.
val length = text?.length

// `null` текшерүүдөн кийин smart cast
if (text != null) {
    val length = text.length // text автоматтык түрдө String (non-nullable) болуп түрленет
}

// Элвис оператору ?:
val nonNullText = text ?: "Баштапкы текст"

// Коопсуз эмес чакыруу оператору !! (мүмкүн болсо алыс болуңуз)
val forceLength = text!!.length // NullPointerException чыгышы мүмкүн

Javaда null текшерүү гана if шарттары менен жүргүзүлөт:

// Java
if (text != null) {
    int length = text.length();
} else {
    // `text` null болсо иштетүү
}