Кожна мова програмування, включаючи Java, обмежена нулем. Немає жодного програміста, який би не стикався з проблемою в коді, пов’язаною з null. Програмісти в основному стикаються NullPointerException коли вони намагаються виконати деякі операції з нульовими даними. NullPointerException — доступний клас, який належить пакету java.lang.
Перш ніж зрозуміти факти null, потрібно мати знання про змінні Java. Якщо ви не знаєте, що Змінна Java є, перейдіть за таким посиланням:
Кожен розробник повинен знати про наступні факти null у Java:
вік кайлі дженнер
З урахуванням регістру
У Java ми не можемо написати null як NULL або 0, як у програмуванні на C, оскільки null є літералом, а ключові слова в Java чутливі до регістру.
Давайте візьмемо приклад, щоб зрозуміти поведінку null з урахуванням регістру.
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); } }
Вихід:
Довідкове значення змінної
За замовчуванням кожна довідкова змінна має нульове значення в Java. Посилальна змінна використовується для вказівки та зберігання об’єктів/значень посилального типу в Java. Класи, масиви, перерахування та інтерфейси тощо є деякими довідковими типами в Java.
Отже, посилальний тип зберігає нульове значення, якщо жодного об’єкта не передано до посилального типу.
Розглянемо приклад, щоб зрозуміти, як посилальна змінна працює для нульового значення:
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); } }
Вихід:
Нульовий тип
У Java null не є ні об’єктом, ні типом. Це спеціальне значення, яке ми можемо призначити будь-якій змінній посилального типу. Ми можемо привести null до будь-якого типу, як-от string, int, double тощо.
завантажити відео з youtube vlc
Розглянемо приклад, щоб зрозуміти, як ми можемо призначити нульові значення будь-якому посилальному типу.
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); } }
Вихід:
Автопакування та розпакування
Автобокс і Розпакування це дві найважливіші операції, які ми виконуємо в Java. Компілятор викидає NullPointerException коли ми присвоюємо нульове значення будь-якому примітивному коробковому типу даних під час виконання операцій.
Давайте візьмемо приклад, щоб зрозуміти автоматичне упаковування та факт розпакування 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); } }
Вихід:
дата javascript
Примірник оператора
Щоб перевірити, чи ан об'єкт є екземпляром зазначеного типу чи ні, ми використовуємо екземпляр оператор. The екземпляр оператор повертає істину, якщо значення виразу не є нульовим під час виконання. Він відіграє важливу роль у перевірках приведення типів.
Давайте візьмемо приклад, щоб зрозуміти екземпляр оператор:
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); } }
Вихід:
Статичний проти Нестатичні методи
Ми не можемо викликати нестатичний метод для посилальної змінної з нульовим значенням. Якщо ми викличемо його, він викине NullPointerException, але ми можемо викликати статичний метод із посилальними змінними з нульовими значеннями. Оскільки статичні методи об’єднані за допомогою статичного зв’язування, вони не створюватимуть виняток Null pointer.
Давайте візьмемо приклад, щоб зрозуміти факт null:
NullExample6.java
кількість mysql
// 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(); } }
Вихід:
== та != Оператори
У Java ці два оператори дозволені з null. Обидва оператори корисні для перевірки null з об’єктами в Java.
Розглянемо приклад, щоб зрозуміти, як ці два оператори працюють з 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'); } } }
Вихід:
Кожен розробник Java повинен знати всі вищезгадані факти null.