logo

Dejstva o null v Javi

Vsak programski jezik, vključno z Javo, je omejen z ničlo. Ni programerja, ki se ne bi soočil s težavo v kodi, povezano z null. Programerji se predvsem soočajo NullPointerException ko poskušajo izvesti nekatere operacije z ničelnimi podatki. NullPointerException je razred, ki je na voljo in pripada paketu java.lang.

pretvarjanje celega števila v niz

Preden razumemo dejstva o null, je potrebno poznati spremenljivke Java. Če ne veš kaj Java spremenljivka je, pojdite na naslednjo povezavo:

Vsak razvijalec bi moral poznati naslednja dejstva o null v Javi:

Razlikuje med velikimi in malimi črkami

V Javi ne moremo zapisati null kot NULL ali 0 kot v programiranju C, ker je null dobeseden in so ključne besede v Javi občutljive na velike in male črke.

Vzemimo primer, da razumemo obnašanje ničelne vrednosti, ki razlikuje med velikimi in malimi črkami.

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); } } 

Izhod:

Dejstva o null v Javi

Vrednost referenčne spremenljivke

Privzeto ima vsaka referenčna spremenljivka v Javi ničelno vrednost. Referenčna spremenljivka se uporablja za označevanje in shranjevanje objektov/vrednosti referenčnega tipa v Javi. Razredi, nizi, oštevilčenja in vmesniki itd. so nekateri referenčni tipi v Javi.

Torej referenčni tip shrani ničelno vrednost, če referenčnemu tipu ni posredovan noben predmet.

Vzemimo primer, da razumemo, kako referenčna spremenljivka deluje za ničelno vrednost:

NullExample2.java

 // 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); } } 

Izhod:

Dejstva o null v Javi

Null Type

V Javi null ni ne predmet ne tip. Je posebna vrednost, ki jo lahko dodelimo kateri koli spremenljivki referenčnega tipa. Ničelo lahko uvrščamo v katero koli vrsto, kot želimo, na primer niz, int, dvojno itd.

Vzemimo primer, da razumemo, kako lahko kateremu koli referenčnemu tipu dodelimo ničelne vrednosti.

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); } } 

Izhod:

Dejstva o null v Javi

Autoboxing in Unboxing

Avtoboks in Razpakiranje sta dve najpomembnejši operaciji, ki ju izvajamo v Javi. Prevajalnik vrže NullPointerException ko kateremu koli primitivnemu podatkovnemu tipu v škatli med izvajanjem operacij dodelimo ničelno vrednost.

Vzemimo primer za razumevanje samodejnega pakiranja in dejstva razpakiranja null.

NullExample4.java

prehod pred naročilom
 // 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); } } 

Izhod:

Dejstva o null v Javi

Primerek operaterja

Da bi preverili, ali an predmet je primerek podane vrste ali ne, uporabljamo instanceof operater. The instanceof operator vrne true, če vrednost izraza med izvajanjem ni ničelna. Ima pomembno vlogo pri preverjanju tipskega uvajanja.

Vzemimo primer, da razumemo instanceof operater:

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); } } 

Izhod:

Dejstva o null v Javi

Statično vs. Nestatične metode

Ne moremo klicati nestatične metode za referenčno spremenljivko z ničelno vrednostjo. Če jo pokličemo, bo vrgla NullPointerException, vendar lahko pokličemo statično metodo z referenčnimi spremenljivkami z ničelnimi vrednostmi. Ker so statične metode povezane s statično vezavo, ne bodo vrgle izjeme ničelnega kazalca.

Vzemimo primer, da razumemo dejstvo ničelnosti:

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(); } } 

Izhod:

Dejstva o null v Javi

== in != Operatorja

V Javi sta ta dva operatorja dovoljena z ničlo. Oba operaterja sta uporabna pri preverjanju null s predmeti v Javi.

Vzemimo primer, da razumemo, kako ta dva operaterja delujeta z ničlo.

NullExample7.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'); } } } 

Izhod:

Dejstva o null v Javi

Vsak razvijalec Java bi moral poznati vsa zgoraj obravnavana dejstva null.