Hvert programmeringsspråk, inkludert Java, er avgrenset med null. Det er ingen programmerer som ikke møtte noe problem i koden relatert til null. Programmerere møter hovedsakelig NullPointerException når de prøver å utføre noen operasjoner med nulldata. NullPointerException er en tilgjengelig klasse som tilhører java.lang-pakken.
Før du forstår fakta om null, er det nødvendig å ha kunnskap om Java-variabler. Hvis du ikke vet hva Java-variabel er, gå gjennom følgende lenke:
Hver eneste utvikler bør ha kunnskap om følgende fakta om null i Java:
Skiller mellom store og små bokstaver
I Java kan vi ikke skrive null som NULL eller 0 som i C-programmering fordi null er en bokstavelig og nøkkelord skiller mellom store og små bokstaver i Java.
La oss ta et eksempel for å forstå den store og små bokstaver-sensitive oppførselen til null.
slå av utviklermodus
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); } }
Produksjon:
Referansevariabelverdi
Som standard har hver referansevariabel en nullverdi i Java. En referansevariabel brukes til å indikere og lagre objekter/verdier av referansetype i Java. Klasser, matriser, oppregninger og grensesnitt osv. er noen referansetyper i Java.
Så, en referansetype lagrer en nullverdi hvis ingen objekter sendes til en referansetype.
La oss ta et eksempel for å forstå hvordan en referansevariabel fungerer for nullverdi:
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); } }
Produksjon:
Null Type
I Java er null verken et objekt eller en type. Det er en spesiell verdi som vi kan tilordne en hvilken som helst referansetypevariabel. Vi kan kaste null inn i hvilken som helst type vi ønsker, for eksempel streng, int, dobbel osv.
La oss ta et eksempel for å forstå hvordan vi kan tilordne nullverdier til enhver referansetype.
NullExample3.java
typer nettverk
// 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); } }
Produksjon:
Autoboksing og Unboxing
Autoboksing og Unboxing er de to viktigste operasjonene vi utfører i Java. Kompilatoren kaster NullPointerException når vi tildeler en nullverdi til en hvilken som helst primitiv boksdatatype mens vi utfører operasjonene.
La oss ta et eksempel for å forstå autoboksing og unboxing-faktumet til null.
NullExample4.java
// 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); } }
Produksjon:
Forekomsten av Operatør
For å sjekke om en gjenstand er en forekomst av den angitte typen eller ikke, bruker vi tilfelle av operatør. De tilfelle av operatoren returnerer true når verdien av uttrykket ikke er null ved kjøring. Det spiller en viktig rolle i typecasting sjekker.
La oss ta et eksempel for å forstå tilfelle av operatør:
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); } }
Produksjon:
hashset vs hashmap
Statisk vs. Ikke-statiske metoder
Vi kan ikke kalle en ikke-statisk metode på en referansevariabel med en nullverdi. Hvis vi kaller det, vil det kaste NullPointerException, men vi kan kalle den statiske metoden med referansevariabler med nullverdier. Siden statiske metoder er bundet ved hjelp av statisk binding, vil de ikke kaste Null-pekerunntak.
La oss ta et eksempel for å forstå null:
NullExample6.java
nummig summering
// 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(); } }
Produksjon:
== og != Operatører
I Java er disse to operatorene tillatt med null. Begge operatørene er nyttige for å sjekke null med objekter i Java.
La oss ta et eksempel for å forstå hvordan disse to operatørene fungerer med null.
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'); } } }
Produksjon:
Hver eneste Java-utvikler bør ha kunnskap om alle de ovenfor diskuterte faktaene om null.