NullPointerException
NPE
NullPointerException
або NPE — це помилка, з якою знайомий кожен програміст Java. Ця помилка є рекордсменом за кількістю роздратування серед програмістів.
Спочатку розглянемо поняття значення null
для змінної типу string. Коли ми створюємо змінну типу string, але забуваємо її ініціалізувати, вона набуває значення null
.
Для порівняння, якщо ми не ініціалізуємо змінну типу int
, вона набуває значення 0
.
Розглянемо приклад змінної типу string зі значенням null
:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Як видно, на екрані виводиться null
, і код, здається, працює. Але тепер спробуємо використати будь-який метод із змінною зі значенням null
:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Якщо спробувати викликати будь-який метод для змінної рядкового типу зі значенням null, виникне NullPointerException
.
Може здатися, що ця помилка не є серйозною, але згодом, коли ви будете отримувати значення, які не писали особисто ви, ви часто з нею стикатиметесь. Тому важливо вже зараз зрозуміти, як вирішувати цю помилку.
Способи уникнення NPE:
- Бути уважним. Якщо створюєте змінну рядкового типу, перевірте, чи ініціалізували її;
- Використовувати перевірку на null перед використанням змінної, наприклад.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String string = null; if (string == null) { // null check System.out.println("Can't use methods with string, because value is null"); } else { System.out.println(string); } } }
Swipe to start coding
Ви розробляєте систему для обробки електронних адрес співробітників.
Деякі записи електронної пошти можуть бути відсутніми (null
).
Ваше завдання — перевірити та обробити лише не-null та правильно відформатовані адреси електронної пошти.
- Вам надано масив електронних адрес співробітників.
- Переберіть кожну
email
у масиві. - Для кожного запису:
- Перевірте, чи
email
не єnull
- А також чи містить символ
@
- Перевірте, чи
- Якщо обидві умови виконуються, виведіть адресу електронної пошти у консоль.
- В іншому випадку виведіть:
"Invalid or missing email"
Рішення
solution.java
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.7
NullPointerException
Свайпніть щоб показати меню
NPE
NullPointerException
або NPE — це помилка, з якою знайомий кожен програміст Java. Ця помилка є рекордсменом за кількістю роздратування серед програмістів.
Спочатку розглянемо поняття значення null
для змінної типу string. Коли ми створюємо змінну типу string, але забуваємо її ініціалізувати, вона набуває значення null
.
Для порівняння, якщо ми не ініціалізуємо змінну типу int
, вона набуває значення 0
.
Розглянемо приклад змінної типу string зі значенням null
:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Як видно, на екрані виводиться null
, і код, здається, працює. Але тепер спробуємо використати будь-який метод із змінною зі значенням null
:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Якщо спробувати викликати будь-який метод для змінної рядкового типу зі значенням null, виникне NullPointerException
.
Може здатися, що ця помилка не є серйозною, але згодом, коли ви будете отримувати значення, які не писали особисто ви, ви часто з нею стикатиметесь. Тому важливо вже зараз зрозуміти, як вирішувати цю помилку.
Способи уникнення NPE:
- Бути уважним. Якщо створюєте змінну рядкового типу, перевірте, чи ініціалізували її;
- Використовувати перевірку на null перед використанням змінної, наприклад.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String string = null; if (string == null) { // null check System.out.println("Can't use methods with string, because value is null"); } else { System.out.println(string); } } }
Swipe to start coding
Ви розробляєте систему для обробки електронних адрес співробітників.
Деякі записи електронної пошти можуть бути відсутніми (null
).
Ваше завдання — перевірити та обробити лише не-null та правильно відформатовані адреси електронної пошти.
- Вам надано масив електронних адрес співробітників.
- Переберіть кожну
email
у масиві. - Для кожного запису:
- Перевірте, чи
email
не єnull
- А також чи містить символ
@
- Перевірте, чи
- Якщо обидві умови виконуються, виведіть адресу електронної пошти у консоль.
- В іншому випадку виведіть:
"Invalid or missing email"
Рішення
solution.java
Дякуємо за ваш відгук!
Awesome!
Completion rate improved to 2.7single