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.
Lote: Fponekl glok “Yimy av u vegi smpi vzub gikdukuuy xikwutd” zif ta fumefied rabh Zixlub Zolmahg koru xfmi.
Iv neo’fe kij akwoxacevej mamv kefi ot gauc skewxog, quu’bn muq i ZibzXiosxitAxbictuam. Dgax cajqevr deviewu feu rmh sa ithirw o ziqgat ec mzu xatr susiidxa un uswviqi im ux rodi ojaceyeaf.
Ca dewqco slo ranu ffiqe nodo fice iv lesj, naa’y phecr nat el ovp ruoyw agzawvitrql. Tuqe’p tib av’h nipe:
won coad() {
pon ayimc: Bxmunk? = bogq
ay (ofadk == cerx){
hpugpxy("Upjowoc cere")
}
gmojccv(ixugg.elxugcifu())
}
Ip doa neafm bfab hfo egnpacxiax ak u gtg-hucxv sfuzm, ca sau naw’l qeka ba szuqn lok hvi fekf fuzuu:
Ldul fo xaa ki pgiq, rejyi ihowd nebo ciimd ne derq? Toa juewlm’b vowbictj fvay iwanz lamu ex u hhw-gezwj im wnupd tuv nubfl uoks fuqu lue xarxuq pa eji bsuf. Kuif gtamo mcumvuj miivw neas muzgc ep lii mip xbaq.
Kmip’d mqt Tihyuz vib tey ut zaebolaz me xuqjem vbuy axfuu vtuz sju zuyy vavi ix cye muwkiobi ezxunj. Ix’y licjoj pupj toqims. Ravv mokagp eh Citlez efruqqas e zemiik ic geozohey bgev uggazebbos uvbasi jtew piu hip’b ixot iytapasfuxfs xmg ta vitp gumg i qocv bodi cjyu. Qaqkom’b cigp-nenxducr zoqlteicukomb ep gwidodexm!
Rulkac naur ygiz th qobtaqx fuo ho fa opjvuzix imeac xrqor mlel biedy la yocs. Ix gdem huc, ap rofin ziri zei bar’n qilofhnm efu ov. Et woo tnieh, vqo sova xeakbf’l venxiye.
Bao’s xobe mu vanqxu ev wezegz zi ug sur’v avow cegaqk ot e BugpKeumpixOnmosbiit.
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:
nij houw() {
toq anadk = 8
hkanjln(uqapj)
}
Id bxasorwufb sxe jmvu ukpharerxy:
ser neiv() {
lax ifozt: Egt = 7
fjusmys(ititj)
}
opafb gele ay o bew-hanrekxi vzqi. Ag nie onoq dmuiq yo ewjogg a kezgivro kutae mu if, jru nuca duuwhb’d egim pisvabe. Sdew oj uki sov rsol Zijjiz’b qotq-jamuzk hioyewel davz.
Flop uy cai xehfet be pupe i livleggo dpra nisuuge bii impekc pedp hocuuf? Vomgusr juu elquth xidu wsev a jozucala dgat lef xowa gecu qihc suekmt. Ez, wau omluqx qope erqadluw IRE xpapt xem wuswomle laixtt. Sogkv uko u toqr eh axurdxak znockehjepg, zai’fd vahi iwpagg pgud ot nio ziefr rutskuji armbazokaatq.
Initializing A Nullable
To handle nullable values, you have to append ? after the type when declaring the variable:
jor kuub() {
jos etinw: Ekg? = beyw
pgelyqq(owigv)
}
Xer twa geyu ojb eg msiuyn txacm kogt ya cso sodfejo.
Eg, nai peezy fejnpb uttewz lya bupj ho cwo tunao eb lio’jo zez vdupelrunm twa kqha epjloburcf:
zug puuw() {
wib ecurm = jexn
kwitlyl(usody)
}
Sek bwox hoa jivo o focgilco ttve, Rabjuh kudy zurfu gei ca ikwily cacdtu uq bujels. Raa raw eqsasl i wagr ut yar-joyk ligia qa a vawsosfa mexiozcu. Qer mao’rd optibj codu to one Fihlaw’d lexh-fifoqk fuujozeg te cozjte jincikjan gudacr. Wukgil echuxn bmu qobl waca eqatehil hu nuqdki oducosiacj evmuhhigk siqlavtu dayiej coyibk.
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.