Null Pointer Exception в Java: Внедряване и примери



Тази статия ще ви предостави подробни и изчерпателни знания за това как Null Pointer Exception работи в Java с много примери.

Необходими са изключения за гладкото протичане на кода и уведомете програмистите за грешката, която трябва да бъде решена. В тази статия ще се съсредоточим върху Null Pointer Exception в Java в следния ред:

Какво е Null Pointer Exception в Java?





Изключението за нулев указател в Java е изключение по време на изпълнение. В света на Java на справка за обект се присвоява специална нулева стойност. Null Pointer Exception се въвежда, когато програма се опитва да използва препратка към обект, която има нулевата стойност. Кое може да бъде:

превърнете двойно в int java
  • За извикване на определен метод от нулев обект.
  • За достъп или промяна на полето на нулев обект.
  • Като вземем предвид дължината на null, сякаш е масив.
  • Докато осъществявате достъп или променяте слотовете на нулев обект.
  • Хвърляне на null като стойност за изхвърляне.
  • Опит за синхронизиране над нулев обект.

Защо се нуждаем от нулевата стойност?



Null е уникална стойност, използвана в Java. Null се използва, за да покаже, че на референтна променлива не е присвоена стойност. Основното приложение на null се състои в прилагането на структури от данни като свързани списъци и дървета. Някои други приложения включват модели на нулеви обекти и единични модели. Единичният модел указва, че може да се инициира само един екземпляр на клас и има за цел да осигури глобална точка за достъп до обекта.

Най-добрият и лесен начин да създадете поне един екземпляр на клас е да декларирате всички конструктори като частни. След това те създават публичен метод, който връща уникалния екземпляр на класа.

// За използване на функция randomUUID. import java.util.UUID import java.io. * class Singleton {// Тук ние инициализираме стойностите на single и ID за нула. private static Singleton single = null private String ID = null private Singleton () {/ * Направете го частен, за да предотвратите създаването на нови екземпляри от класа Singleton. * / // Създайте произволен ID ID = UUID.randomUUID (). ToString ()} публичен статичен Singleton getInstance () {if (single == null) single = new Singleton () return single} public String getID () {return this.ID}} // Код на драйвера публичен клас TestSingleton {public static void main (String [] args) {Singleton s = Singleton.getInstance () System.out.println (s.getID ())}} //

Изход:



null-pointer

Горният пример е статичен екземпляр на класа singleton. Екземплярът се инициализира най-много веднъж в метода за получаване на инстанция на Singleton.

какво е синхронизация в java

Как да избегнем Null Pointer Exception в Java?

За да избегнем Null Pointer Exception в Java, трябва да се уверим, че всички обекти са инициализирани правилно, преди да ги използвате. Когато е декларирана референтна променлива, трябва да проверим дали обектът не е нулев, а също и преди да поискаме методи или полета от обекти. Следват някои проблеми със съответните решения за преодоляване на този проблем.

// програма за демонстриране на извикване на метод // на null причинява NullPointerException import java.io. * class GFG {public static void main (String [] args) {// Инициализиране на String променлива с нулева стойност String ptr = null // Проверка дали ptr.equals е нула или работи добре. опитайте {// Този ред код изхвърля NullPointerException //, защото ptr е нула, ако (ptr.equals ('gfg')) System.out.print ('Същото') else System.out.print ('Не е същото')} catch (NullPointerException e) {System.out.print ('NullPointerException Caught')}}}

Изход:

Провеждане на проверка на аргументите на даден метод

Винаги помнете, че преди да изпълним тялото на нов метод, трябва да осигурим аргументите му за нулеви стойности и да продължим с изпълнението на метода. Ако и само когато аргументите са правилно проверени. В противен случай ще изхвърли „IllegalArgumentException“ и ще извика извикващия метод, че нещо не е наред с предадените аргументи.

// програма за проверка дали параметрите са нула или не преди // използването им. import java.io. * class GFG {public static void main (String [] args) {// String s задава празен низ и извиква getLength () String s = '' try {System.out.println (getLength (s)) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')} // Низът е зададен на стойност и извиква getLength () s = 'GeeksforGeeks' опитайте {System.out.println (getLength (s)) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')} // Задаване на s като нула и извикване getLength () s = нула, опитайте {System.out.println (getLength (s))} catch ( IllegalArgumentException e) {System.out.println ('IllegalArgumentException уловено')}} // Функция за връщане на дължина на низ s. Изхвърля // IllegalArgumentException, ако s е null. публичен статичен int getLength (String s) {if (s == null) хвърля нов IllegalArgumentException ('Аргументът не може да бъде null') return s.length ()}}

Изход:

Използване на тернарен оператор

За избягване на NullPointerException се използва троичен оператор. Булевият израз се проверява и ако изразът е true, тогава се връща value1, в противен случай се връща value2. Може да се използва троичният оператор за обработка на нулеви указатели: Правото изображение е съответният изход.

анализира xml файл в java
// Java програма за демонстриране, че можем да използваме // тернарен оператор, за да избегнем NullPointerException. import java.io. * class GFG {public static void main (String [] args) {// Инициализиране на String променлива с нулева стойност String str = null String message = (str == null)? '': str.substring (0,5) System.out.println (съобщение) str = 'Edureka_Java_Blog' съобщение = (str == null)? '': str.substring (0,5) System.out.println (съобщение)}}

Изход:

Едурек

С това стигаме до края на Null Pointer Exception в Java. Надявам се, че имате представа за Null Pointer Exception.

Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог „Null Pointer Exception in Java“ и ние ще се свържем с вас възможно най-скоро.