Junior
Коддо null маанилерди кантип текшерүү керек?
sobes.tech AI
AIден жооп
Kotlinде nullable типтер менен иштөө жана null текшерүү үчүн төмөнкү ыкмалар колдонулат:
-
Коопсуз чакыруу оператору (
?.): Объекттин методдорун чакыруу же мүлктөрүнө кирүү объектnullэмес болсо гана мүмкүн. Эгер объектnullболсо, бардык чакырууnullкайтарат. -
Элвис оператору (
?:): Оң жактагы билдирүүnullболсо, алдын ала белгиленген маанини камсыз кылат. -
Коопсуз эмес чакыруу оператору (
!!): Nullable типти non-nullable кылат. Эгер маанисиnullболсо,NullPointerExceptionчыгат. Колдонуусу катуу сунушталбайт, анткени ал тиркеменин үзүлүшүнө алып келиши мүмкүн. -
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 болсо иштетүү
}