Hvert programmeringssprog, inklusive Java, er afgrænset med null. Der er ingen programmør, der ikke stod over for noget problem i koden relateret til null. Programmører hovedsageligt ansigt NullPointerException når de forsøger at udføre nogle operationer med null-data. NullPointerException er en tilgængelig klasse, der hører til java.lang-pakken.
Før du forstår fakta om null, er det nødvendigt at have kendskab til Java-variabler. Hvis du ikke ved hvad Java variabel er, gå gennem følgende link:
Hver eneste udvikler bør have viden om følgende fakta om null i Java:
Forskellighed mellem store og små bogstaver
I Java kan vi ikke skrive null som NULL eller 0 som i C-programmering, fordi null er et bogstav, og nøgleord er store og små bogstaver i Java.
Lad os tage et eksempel for at forstå nulls opførsel, der skelner mellem store og små bogstaver.
slå udviklertilstand fra
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); } }
Produktion:
Referencevariabelværdi
Som standard har hver referencevariabel en null-værdi i Java. En referencevariabel bruges til at angive og gemme objekter/værdier af referencetype i Java. Klasser, arrays, opregninger og grænseflader osv. er nogle referencetyper i Java.
Så en referencetype gemmer en nulværdi, hvis intet objekt sendes til en referencetype.
Lad os tage et eksempel for at forstå, hvordan en referencevariabel fungerer for null-værdi:
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); } }
Produktion:
Nul Type
I Java er null hverken et objekt eller en type. Det er en speciel værdi, som vi kan tildele enhver referencetypevariabel. Vi kan støbe null ind i enhver type, som vi ønsker, såsom streng, int, double osv.
Lad os tage et eksempel for at forstå, hvordan vi kan tildele nulværdier til enhver referencetype.
NullExample3.java
char til streng 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); } }
Produktion:
Autoboxing og Unboxing
Autoboksning og Unboxing er de to vigtigste operationer, som vi udfører i Java. Compileren kaster NullPointerException når vi tildeler en nulværdi til enhver primitiv indrammet datatype, mens vi udfører handlingerne.
Lad os tage et eksempel for at forstå autoboxing og unboxing-kendsgerningen ved 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); } }
Produktion:
Forekomsten af Operatør
For at kontrollere, om en objekt er en instans af den angivne type eller ej, bruger vi forekomst af operatør. Det forekomst af operatoren returnerer sand, når værdien af udtrykket ikke er null på kørselstidspunktet. Det spiller en vigtig rolle i typecasting-tjek.
Lad os tage et eksempel for at forstå forekomst af 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); } }
Produktion:
indeks over listen
Statisk vs. Ikke-statiske metoder
Vi kan ikke kalde en ikke-statisk metode på en referencevariabel med en nulværdi. Hvis vi kalder det, vil det kaste NullPointerException, men vi kan kalde den statiske metode med referencevariable med null-værdier. Da statiske metoder er bundet ved hjælp af statisk binding, vil de ikke kaste Null pointer Exception.
Lad os tage et eksempel for at forstå null:
NullExample6.java
numpy 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(); } }
Produktion:
== og != Operatører
I Java er disse to operatorer tilladt med null. Begge operatører er nyttige til at kontrollere null med objekter i Java.
Lad os tage et eksempel for at forstå, hvordan disse to operatører arbejder 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'); } } }
Produktion:
Hver eneste Java-udvikler bør have kendskab til alle de ovenfor diskuterede fakta om null.