Зміст курсу
Основи Java
Основи Java
NullPointerException
NPE
NullPointerException
або NPE - це помилка, з якою знайомий кожен програміст Java. Ця помилка є рекордсменом по дратуванню девелоперів.
Спочатку давайте розберемося з поняттям null
значення для рядкової змінної. Коли ми створюємо рядкову змінну, але забуваємо її ініціалізувати, вона набуває значення null
.
Для порівняння, якщо ми не ініціалізуємо змінну типу int
, вона набуває значення 0
.
Розглянемо приклад рядкової змінної зі значенням null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Як бачите, на екран виводиться null
, і код начебто працює. Але давайте тепер спробуємо використати будь-який метод зі змінною зі значенням null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
При спробі викликати будь-який метод для рядкової змінної зі значенням null ми отримаємо виключення NullPointerException
.
Вам може здатися, що ця помилка не така вже й серйозна, але згодом, коли ви будете отримувати значення, записані не вами особисто, ви можете часто з нею стикатися. Тому дуже важливо зрозуміти, як вирішити цю помилку зараз.
Способи уникнення NPE:
- Будьте уважні. Якщо ви створюєте рядкову змінну, двічі перевірте, чи ви її ініціалізували;
- Bикористовуйте перевірку на нуль перед використанням змінної:
Main
package 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 show code editor
Я маю масив рядків, і намагаюся вивести його за допомогою циклу for-each
, але постійно зіткаюсь з помилкою, яка мене вже тривожить. Вирішіть цю проблему, щоб дані з мого масиву виводилися на екран.
Дякуємо за ваш відгук!
NullPointerException
NPE
NullPointerException
або NPE - це помилка, з якою знайомий кожен програміст Java. Ця помилка є рекордсменом по дратуванню девелоперів.
Спочатку давайте розберемося з поняттям null
значення для рядкової змінної. Коли ми створюємо рядкову змінну, але забуваємо її ініціалізувати, вона набуває значення null
.
Для порівняння, якщо ми не ініціалізуємо змінну типу int
, вона набуває значення 0
.
Розглянемо приклад рядкової змінної зі значенням null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Як бачите, на екран виводиться null
, і код начебто працює. Але давайте тепер спробуємо використати будь-який метод зі змінною зі значенням null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
При спробі викликати будь-який метод для рядкової змінної зі значенням null ми отримаємо виключення NullPointerException
.
Вам може здатися, що ця помилка не така вже й серйозна, але згодом, коли ви будете отримувати значення, записані не вами особисто, ви можете часто з нею стикатися. Тому дуже важливо зрозуміти, як вирішити цю помилку зараз.
Способи уникнення NPE:
- Будьте уважні. Якщо ви створюєте рядкову змінну, двічі перевірте, чи ви її ініціалізували;
- Bикористовуйте перевірку на нуль перед використанням змінної:
Main
package 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 show code editor
Я маю масив рядків, і намагаюся вивести його за допомогою циклу for-each
, але постійно зіткаюсь з помилкою, яка мене вже тривожить. Вирішіть цю проблему, щоб дані з мого масиву виводилися на екран.
Дякуємо за ваш відгук!
NullPointerException
NPE
NullPointerException
або NPE - це помилка, з якою знайомий кожен програміст Java. Ця помилка є рекордсменом по дратуванню девелоперів.
Спочатку давайте розберемося з поняттям null
значення для рядкової змінної. Коли ми створюємо рядкову змінну, але забуваємо її ініціалізувати, вона набуває значення null
.
Для порівняння, якщо ми не ініціалізуємо змінну типу int
, вона набуває значення 0
.
Розглянемо приклад рядкової змінної зі значенням null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Як бачите, на екран виводиться null
, і код начебто працює. Але давайте тепер спробуємо використати будь-який метод зі змінною зі значенням null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
При спробі викликати будь-який метод для рядкової змінної зі значенням null ми отримаємо виключення NullPointerException
.
Вам може здатися, що ця помилка не така вже й серйозна, але згодом, коли ви будете отримувати значення, записані не вами особисто, ви можете часто з нею стикатися. Тому дуже важливо зрозуміти, як вирішити цю помилку зараз.
Способи уникнення NPE:
- Будьте уважні. Якщо ви створюєте рядкову змінну, двічі перевірте, чи ви її ініціалізували;
- Bикористовуйте перевірку на нуль перед використанням змінної:
Main
package 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 show code editor
Я маю масив рядків, і намагаюся вивести його за допомогою циклу for-each
, але постійно зіткаюсь з помилкою, яка мене вже тривожить. Вирішіть цю проблему, щоб дані з мого масиву виводилися на екран.
Дякуємо за ваш відгук!
NPE
NullPointerException
або NPE - це помилка, з якою знайомий кожен програміст Java. Ця помилка є рекордсменом по дратуванню девелоперів.
Спочатку давайте розберемося з поняттям null
значення для рядкової змінної. Коли ми створюємо рядкову змінну, але забуваємо її ініціалізувати, вона набуває значення null
.
Для порівняння, якщо ми не ініціалізуємо змінну типу int
, вона набуває значення 0
.
Розглянемо приклад рядкової змінної зі значенням null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Як бачите, на екран виводиться null
, і код начебто працює. Але давайте тепер спробуємо використати будь-який метод зі змінною зі значенням null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
При спробі викликати будь-який метод для рядкової змінної зі значенням null ми отримаємо виключення NullPointerException
.
Вам може здатися, що ця помилка не така вже й серйозна, але згодом, коли ви будете отримувати значення, записані не вами особисто, ви можете часто з нею стикатися. Тому дуже важливо зрозуміти, як вирішити цю помилку зараз.
Способи уникнення NPE:
- Будьте уважні. Якщо ви створюєте рядкову змінну, двічі перевірте, чи ви її ініціалізували;
- Bикористовуйте перевірку на нуль перед використанням змінної:
Main
package 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 show code editor
Я маю масив рядків, і намагаюся вивести його за допомогою циклу for-each
, але постійно зіткаюсь з помилкою, яка мене вже тривожить. Вирішіть цю проблему, щоб дані з мого масиву виводилися на екран.