9 dolog, amit a null a java
9 dolog NULL Java.
9 dolog Null Java
Java null és elválaszthatatlanok. Alig van olyan Java-programozó, hogy nem felel meg a „null mutató kivétel”, és az a szomorú tény. Még a feltaláló a „null” nevű koncepció neki a hibát egy milliárd dollárt, akkor miért Java támogatja? null már itt sokáig, és azt hiszem, a Java alkotók tudják, hogy ez több problémát okoz, mint amennyit megold, így miért is fel vele. És ez meglep még, mert a Java filozófia az, hogy egyszerűsíteni a dolgokat, ezért azok már nem elfoglalva mutatók, operátor túlterhelés és többszörös öröklés, de miért üres.
Nos, én tényleg nem tudom a választ erre a kérdésre, de azt tudom, hogy nem számít, hány null bírálta a Java-programozók és a nyílt forráskódú közösség, meg kell élni vele. Ahelyett, hogy sajnálom, jobb, ha megtudja, több és meg kell győződni arról, hogy mi a helyes null.
Miért kell tudni null Java?
Mert ha nem figyel, hogy null. Az biztos, hogy a Java teszi szenvednek a szörnyű java.lang.NullPointerException és megtudhatja, ezt a leckét, de sokkal nehezebb, hogy menjen át. Írás ellenáll a „bukása” A kód egy művészeti - és a csapat, ügyfelek és a felhasználók értékelni fogják azt. Az én tapasztalatom, az egyik fő oka NullPointerException az ismeretek hiánya a null a Java. Sokan közületek már ismeri null, a többit lehet tanulni néhány régi és új dolog a kulcsszó null. Nézzük ismételje vagy tanulni valami fontos dolgot null a Java.
Mi null Java
Mint mondtam, null nagyon, nagyon fontos fogalom a Java. Eredetileg találták, hogy jelezze valaminek a hiányát, például a hiányzó felhasználó, forrás, vagy ilyesmi, de az elmúlt évben zavarba a Java-programozók több null mutató kivétel. Ebben a tutorial, megtanuljuk az alapvető tényeket a kulcsszó null Java, meg néhány trükköt, hogyan lehet elkerülni a bajt nullmutató kivételek és minimálisra null ellenőrzést.
- Az első dolog null egy kulcsszó a Java, valamint az állami. statikus vagy végleges. Kis- és nagybetűket, akkor nem lehet írni null a Null vagy NULL. A fordító nem ismeri fel és dobott hibát.
Gyakran előfordul, hogy ez találkozik a programozók, akik váltott más programozási nyelvek, de a modern IDE probléma jelentéktelenné válik. Ma, IDE, mint az Eclipse vagy NetBeans kijavíthatja a hibát gépelés közben kódot, de a korszak Notepad. VIM Emaks. ez egy gyakori probléma, ami enni egy csomó értékes időt.
Ez igaz mind a statikus és nem statikus objektumok, mint látható itt, én myObj statikus referencia, hogy én is használni közvetlenül a módszer fő, ami egy statikus módszer, és nem teszi lehetővé a hozzáférést a nem-statikus változók belül.
Mint látható, öntött null bármely hivatkozás típusú sikeres mindkét fordítási időben és a futás során. Ellentétben azzal, amit sokan azt gondolhatja, hogy nem vezet kirepülő NullPointerException.
Mint látható, amikor közvetlenül hozzárendelni null primitív, akkor kap egy fordítási hiba folyamatot, de ha rendelni egy null objektum wrapper osztályt, majd rendeljen az objektumot a megfelelő primitív típus, a fordító nem reagál, de mi lesz a jutalma null mutató kivétel során teljesítményt. Ez annak köszönhető, hogy az automatikus csomagolás (autoboxing) (autoboxing) Java, és találkozni fogunk vele a következő bekezdésben.
De, ha futtatni ezt a kódrészletet, akkor megjelenik a konzol
Ez gyakran előfordul, ha HashMap és egész kulcsot. Futás az alább látható kódot megszakad, amint elindítja.
Ez a kód úgy néz ki, nagyon egyszerű és ártalmatlan. Csak azt számolja, hogy hányszor száma megtalálható a tömb, a klasszikus technikát találni ismétli. Fejlesztő veszi előző számítani száma eggyel megnöveli azt az egyik, és beilleszti vissza a térkép. Azt gondolta volna, hogy az auto-csomag lesz vigyázni Egész átalakítás int. ahogy az idő alatt a hívás, hogy (). de elfelejti, hogy ha a szám számot még nem végeztek, hogy () metódus visszatér HashMapnull. nem nulla, mert az alapértelmezett érték az Integer null. 0 helyett és auto-csomagoló dob null mutató kivétel, amikor próbálják átalakítani Integer egy int változó.
Ez egy fontos tulajdonsága a instanceof operátor. ami hasznos, hogy ellenőrizze a szereposztás.
Ez nem lehet hivatkozni
Ez normális a szempontból a fordító, de az ezt követő viselkedés függ, az eljárás. Null biztonságos módszert nem dobja NullPointerException. hanem egyszerűen helyesen kitölteni. Ha az üzleti logika lehetővé teszi, akkor ajánlott levelet null-biztonságos módszerek.