logo

Tények a Java nulláról

Minden egyes programozási nyelv, beleértve a Java-t is, null-al van határolva. Nincs olyan programozó, aki ne szembesült volna semmilyen problémával a nullához kapcsolódó kódban. A programozók elsősorban szembesülnek NullPointerException amikor null adatokkal próbálnak végrehajtani néhány műveletet. A NullPointerException egy elérhető osztály, amely a java.lang csomaghoz tartozik.

Mielőtt megértené a null tényeit, ismernie kell a Java változókat. Ha nem tudod mit Java változó az alábbi linken keresztül:

Minden fejlesztőnek ismernie kell a Java nullával kapcsolatos következő tényeket:

Kis-nagybetű érzékeny

Java-ban nem írhatunk nullát NULL-ként vagy 0-t, mint a C programozásban, mert a null literál, és a kulcsszavak megkülönböztetik a kis- és nagybetűket a Java-ban.

Vegyünk egy példát a null kis- és nagybetűk megkülönböztetésére.

git parancsok a push-hoz

NullExample1.java

 // import classes and packages if any public class NullExample1 { // main() method start public static void main (String[] args) throws java.lang.Exception { // declare and initialize an object with NULL Object obj1 = NULL; // declare and initialize an object with null Object obj2 = null; // print both objects System.out.println('The value of obj1 is: '+obj1); System.out.println('The value of obj2 is: '+obj2); } } 

Kimenet:

Tények a Java nulláról

Referencia változó értéke

Alapértelmezés szerint minden referenciaváltozónak null értéke van a Java nyelvben. A referencia-változó a referencia típusú objektumok/értékek jelzésére és tárolására szolgál Java nyelven. Az osztályok, tömbök, felsorolások és interfészek stb. a Java néhány hivatkozási típusa.

Tehát a referenciatípus null értéket tárol, ha nem ad át objektumot egy referenciatípusnak.

Vegyünk egy példát, hogy megértsük, hogyan működik egy referenciaváltozó null érték esetén:

NullExample2.java

java karakterlánc formátummal
 // import classes and packages if any public class NullExample2 { // declare two objects private static Object obj1; private static Object obj2; // main() method start public static void main (String[] args) { // print both objects System.out.println('The value of obj1 is: '+obj1); System.out.println('The value of obj2 is: '+obj2); } } 

Kimenet:

Tények a Java nulláról

Null Type

A Java nyelvben a null sem nem objektum, sem nem típus. Ez egy speciális érték, amelyet bármely referencia típusú változóhoz hozzárendelhetünk. A nullát tetszőleges típusba önthetjük, például string, int, double stb.

Vegyünk egy példát, hogy megértsük, hogyan rendelhetünk null értékeket bármely referenciatípushoz.

java szünet

NullExample3.java

 // import classes and packages if any public class NullExample3 { // main() method start public static void main (String[] args) { // pass a null value to a different type of variable // pass null to String String str = null; // pass null to Integer Integer itr = null; // pass null to Double Double dbl = null; // casting null to String String castedStr = (String)null; // casting null to Integer Integer castedItr = (Integer)null; // casting null to Double Double castedDbl = (Double)null; // print all reference type System.out.println('The value of str is: '+str); System.out.println('The value of itr is: '+itr); System.out.println('The value of dbl is: '+dbl); System.out.println('The value of castedStr is: '+castedStr); System.out.println('The value of castedItr is: '+castedItr); System.out.println('The value of castedDbl is: '+castedDbl); } } 

Kimenet:

Tények a Java nulláról

Autobox és Unboxing

Autobox és Kicsomagolás a két legfontosabb művelet, amelyet a Java-ban hajtunk végre. A fordító dob NullPointerException amikor a műveletek végrehajtása során bármely primitív dobozos adattípushoz null értéket rendelünk.

Vegyünk egy példát az autoboxing és a null kicsomagolás tényének megértéséhez.

NullExample4.java

java karakterlánc elválasztóval osztott
 // import classes and packages if any public class NullExample4 { // main() method start public static void main (String[] args) throws java.lang.Exception { // pass null value to a reference type Integer itr = null; // perform unboxing operation int data = itr; // print both objects System.out.println('The value of itr is: '+itr); System.out.println('The value of data is: '+data); } } 

Kimenet:

Tények a Java nulláról

Az operátor példánya

Annak ellenőrzésére, hogy egy tárgy a megadott típusú példány vagy sem, használjuk a Például az operátor. A Például az Az operátor igazat ad vissza, ha a kifejezés értéke nem nulla futás közben. Fontos szerepet játszik a típusbesorolási ellenőrzésekben.

Vegyünk egy példát, hogy megértsük a Például az operátor:

NullExample5.java

 // import classes and packages if any public class { // main() method start public static void main (String[] args) throws java.lang.Exception { // pass null value to a reference type Integer m = null; // pass a value to a reference type Integer n = 20; // print instanceof values System.out.println(m instanceof Integer); System.out.println(n instanceof Integer); } } 

Kimenet:

Tények a Java nulláról

Statikus vs. Nem statikus módszerek

Nem hívhatunk meg nem statikus metódust nulla értékű referenciaváltozón. Ha meghívjuk, akkor NullPointerException-t dob, de a statikus metódust hívhatjuk null értékû referenciaváltozókkal. Mivel a statikus metódusok statikus kötéssel vannak kötve, nem dobnak ki nullamutató kivételt.

Vegyünk egy példát a null tényének megértéséhez:

NullExample6.java

 // import classes and packages if any public class NullExample6 { // define static method public static void staticMethod() { //it can be called by using a null reference System.out.println('static method can be called by null reference.'); } // define non static method public void nonStaticMethod() { //it cannot be called by using a null reference System.out.println('static method cannot be called by a null reference.'); } // main() method start public static void main (String[] args) throws java.lang.Exception { NullExample6 exp = null; exp.staticMethod(); exp.nonStaticMethod(); } } 

Kimenet:

Tények a Java nulláról

== és != Operátorok

Java-ban ez a két operátor megengedett nullával. Mindkét operátor hasznos a null ellenőrzéséhez Java objektumokkal.

Vegyünk egy példát, hogy megértsük, hogyan működik ez a két operátor a nullával.

java vége

NullPélda7.java

 // import classes and packages if any public class NullExample7 { // main() method start public static void main (String[] args) { // pass null value to String type of variables // pass null to str1 String str1 = null; // pass null to str2 String str2 = null; // pass null to str3 String str3 = 'Test'; // compare strings if(str1 == str2){ System.out.println('str1 and str2 both are equal'); }else{ System.out.println('str1 and str2 are not equal'); } if(str2 == str3){ System.out.println('str2 and str3 both are equal'); }else{ System.out.println('str2 and str3 are not equal'); } if(str3 == str1){ System.out.println('str3 and str1 both are equal'); }else{ System.out.println('str3 and str1 are not equal'); } } } 

Kimenet:

Tények a Java nulláról

Minden Java fejlesztőnek ismernie kell a null fent tárgyalt tényeit.