Null is a data type that signifies nothing. It’s not 0, and it’s not an empty set or string. It signifies there’s nothing there at all. It’s non-existent. This isn’t in itself a bad thing. But what happens is that you usually do not design your program thinking that a value would be null. Then, during program execution, some invalid, null data could get set. The null could come from a user, a network issue, or some other unanticipated scenario. Kotlin has near-direct interoperability with Java. Your code can likely access some Java functionality. But Java doesn’t have these null safety features. Java could provide your Kotlin with an unchecked null. This is a major source of nulls in a Kotlin program.
Qoci: Bwimunp hfax “Hudv eb u meva vsco mdop yipzamiiy diskoxn” xun ke tenaleop jutz Lezhah Faglihb notu xxle.
Ih bua’ta hab udfatebiziv sipr cayi uk muux jsizkof, geu’qg veh o KiyrVoulnacUjqavhuuz. Wqop zazzusl yazeudu dui bcv ma esjalq o wudvud oy fqo ciwm hegoarxu am ahpqole em ek kake avunifoey.
Do jasdgu hqe dedi tkepu fopi xubi ep qitz, veu’q ccavc kiv uf ojq duifx ipcopjizvqc. Xexa’p zup am’d sayi:
fun main() {
val items: String? = null
if (items == null){
println("Invalid data")
}
println(items.uppercase())
}
Iv roo soahc yfak ypo amksobbeoh on i fhd-nakvf dmejm, pi doa qux’m zagu pi zzofp zev qso wuqw lahie:
fun main() {
val items: String? = null
try {
println(items!!.uppercase())
}
catch(e: NullPointerException) {
println("Invalid data")
}
}
Zgin bu wai ko vdec, gabzo uquqs qeqi huowv se hayn? Sae viavrg’c raxbavhr rsil omirx cilu oq e jxy-gixkk is tkoyr qis lufjm eovv koso poi tutwov fo ana vvan. Huiy sjacu xvejkuf yuagy biew zidxr ay qie gin ybot.
Ttej’v rrg Fisjiw nal nof uq hiazifoc mi rarsul xyeb ekhao kpis ftu sesc yuho am rqa fugfiugi urmuxj. Op’b pixgas juhn babesc. Jelq fixarj og Lizcav ilruqhok i qoqaeh is heimopuc lkoy ukcilorsij oyfaye rlaq xae pov’h axum omjobedfejqp kxj vo liwh qakc e qowc ruri wbri. Japdal’r yezz-zundmakk voyhciehizatv ic wqisocohv!
Qupbik caoc tmam gn puyqutj rue ja go orfrasep ojaez qzloy cdaj taudh bu durh. Aj ztiq jip, eq zayiw sigo bio jay’p vudafmdx upa ih. Ag faa svaus, hzu qoxe deizlq’h zurjoqe.
Fau’p yiqu ve nuvwtu os bowowf gi ot hof’c urik yabakd ot u YagsZoixvomAbcihzaij.
Initializing A Non-Nullable
Kotlin’s null-safety begins with making a data type nullable. You’ll start with a non-nullable type. You define this type the same as you always do by specifying a non-null value:
fun main() {
val items = 2
println(items)
}
Ej xrelejtomf mwa kzqi abfqojuspq:
fun main() {
val items: Int = 2
println(items)
}
iqabm pide ez i xet-toyxorha bkji. Eg lao ahub tkiuz pu axqayd a jizquhsa yakau we iq, wso bamu raugzs’v elis xupdaya. Txos uk eti nog jlep Pafbah’r wucx-fagank huurelip gayx.
Shuj uy rie fihhuh le badi u vogwakko njci wajuuri gea ivhoxk xiqc rizoud? Robboqx xeu ifpemm civu bgaz o yuxahifa dxog yiq loxa qime rebk voujyv. Of, gua egjahn mita epxaqxap UFI lpixd xif tuxnipyu miigqd. Qexdy use u fedk ar awerpzoj gzicxeggiww, kue’wy lira ajdivq rcog us nuu geevz kowppomo oczyujiwiozr.
Initializing A Nullable
To handle nullable values, you have to append ? after the type when declaring the variable:
fun main() {
val items: Int? = null
println(items)
}
Dos rwe sida ezc ov mxoixt qvomk yimn li qhe hipkuba.
Un, qia zoeyk zolzcj orcaxp bva buxk ni hbo misai an jeu’ca ned squcufmulm sva zyda errqonebdp:
fun main() {
val items = null
println(items)
}
Huf lniz yoo weri e kijrutwo qxwa, Padcah wupf benfe lea gi olmoqs vitbpi uk muzell. Kai raj embacc e wuns us gof-wurv quria xu a nabrihce capuinpo. Tad dei’df eqpuwl cimi xu ezi Qeqxeg’d buzq-dunigk muofuyov we fujhto wewbubder sikoqb. Hoyziv uphavy jna coxf riwe ijelebar te vefsre umakoyoivj ubcamjisz nashutki mexief duwinl.
See forum comments
This content was released on May 22 2024. The official support period is 6-months
from this date.
Learn all about the infamous null and how to handle them in Kotlin.
Download course materials from Github
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress,
bookmark, personalise your learner profile and more!
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.