logo

Fakty na temat wartości null w Javie

Każdy język programowania, w tym Java, jest ograniczony wartością null. Nie ma programisty, który nie napotkałby żadnego problemu w kodzie związanym z wartością null. Z którymi borykają się głównie programiści Wyjątek NullPointer gdy próbują wykonać pewne operacje na danych zerowych. NullPointerException to dostępna klasa należąca do pakietu java.lang.

Przed zrozumieniem faktów dotyczących wartości null wymagana jest znajomość zmiennych Java. Jeśli nie wiesz co Zmienna Java jest, przejdź przez poniższy link:

Każdy programista powinien znać następujące fakty dotyczące wartości null w Javie:

Wielkość liter uwzględniana

W Javie nie możemy zapisać wartości null jako wartości NULL ani wartości 0, jak w programowaniu w języku C, ponieważ wartość null jest literałem, a w Javie wielkość liter jest uwzględniana w słowach kluczowych.

Weźmy przykład, aby zrozumieć zachowanie wartości null z uwzględnieniem wielkości liter.

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

Wyjście:

Fakty na temat wartości null w Javie

Wartość zmiennej odniesienia

Domyślnie każda zmienna referencyjna ma w Javie wartość null. Zmienna referencyjna służy do wskazywania i przechowywania obiektów/wartości typu referencyjnego w Javie. Klasy, tablice, wyliczenia, interfejsy itp. to niektóre typy referencyjne w Javie.

Zatem typ referencyjny przechowuje wartość null, jeśli żaden obiekt nie zostanie przekazany do typu referencyjnego.

e-mail

Weźmy przykład, aby zrozumieć, jak zmienna referencyjna działa dla wartości null:

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

Wyjście:

Fakty na temat wartości null w Javie

Typ zerowy

W Javie null nie jest ani obiektem, ani typem. Jest to specjalna wartość, którą możemy przypisać dowolnej zmiennej typu referencyjnego. Możemy rzutować wartość null na dowolny typ, taki jak string, int, double itp.

Weźmy przykład, aby zrozumieć, w jaki sposób możemy przypisać wartości null do dowolnego typu referencyjnego.

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

Wyjście:

Fakty na temat wartości null w Javie

Automatyczne pakowanie i rozpakowywanie

Autoboxing I Rozpakowywanie to dwie najważniejsze operacje, które wykonujemy w Javie. Kompilator rzuca Wyjątek NullPointer kiedy podczas wykonywania operacji przypiszemy wartość null do dowolnego pierwotnego typu danych w ramce.

Weźmy przykład, aby zrozumieć fakt autoboxowania i rozpakowywania wartości 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); } } 

Wyjście:

Fakty na temat wartości null w Javie

Instancja Operatora

Aby sprawdzić, czy np obiekt jest instancją określonego typu, czy nie, używamy metody wystąpienie operator. The wystąpienie operator zwraca wartość true, jeśli w czasie wykonywania wartość wyrażenia nie jest równa null. Odgrywa ważną rolę w kontroli typografii.

Weźmy przykład, aby zrozumieć wystąpienie operator:

pobierz film z YouTube vlc

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

Wyjście:

Fakty na temat wartości null w Javie

Statyczne vs. Metody niestatyczne

Nie możemy wywołać metody niestatycznej na zmiennej referencyjnej o wartości null. Jeśli ją wywołamy, zgłosi wyjątek NullPointerException, ale możemy wywołać metodę statyczną ze zmiennymi referencyjnymi o wartościach null. Ponieważ metody statyczne są łączone przy użyciu wiązania statycznego, nie będą zgłaszać wyjątku wskaźnika zerowego.

Weźmy przykład, aby zrozumieć fakt zera:

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

Wyjście:

Fakty na temat wartości null w Javie

== i != Operatory

W Javie te dwa operatory są dozwolone z wartością null. Oba operatory są przydatne przy sprawdzaniu wartości null za pomocą obiektów w Javie.

Weźmy przykład, aby zrozumieć, jak te dwa operatory działają z wartością null.

ciąg zastępuje Java

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

Wyjście:

Fakty na temat wartości null w Javie

Każdy programista Java powinien znać wszystkie omówione powyżej fakty dotyczące wartości null.