Запитання з тегом «nullpointerexception»

Виняток Java, кинутий, коли програма намагається використовувати null у випадку, коли потрібен об'єкт.

9
Чому явно кидати NullPointerException, а не допускати цього природним шляхом?
Читаючи вихідний код JDK, я вважаю, що автор перевіряє параметри, якщо вони є нульовими, а потім викидає нові NullPointerException () вручну. Чому вони це роблять? Я думаю, що цього робити не потрібно, оскільки він викине новий NullPointerException (), коли викликає будь-який метод. (Ось, наприклад, вихідний код HashMap :) public V …

6
Фільтруйте значення лише у випадку, якщо вони є недійсними, використовуючи лямбда в Java8
У мене є перелік об'єктів скажімо car. Я хочу фільтрувати цей список на основі якогось параметра за допомогою Java 8. Але якщо параметр є null, він кидає NullPointerException. Як відфільтрувати нульові значення? Поточний код такий requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); Це кидає, NullPointerExceptionякщо getName()повернеться null.

9
Як ефективніше використовувати примітки @Nullable та @Nonnull?
Я бачу, що @Nullableі @Nonnullпримітки можуть бути корисними для запобігання NullPointerExceptions, але вони не дуже поширені. Ефективність цих анотацій повністю знижується після одного рівня непрямості, тому якщо ви додасте лише кілька, вони не розповсюджуються дуже далеко. Оскільки ці анотації не виконуються належним чином, існує небезпека припустити, що значення, позначене символом …

4
Булеві, умовні оператори та автобоксинг
Чому це кидає NullPointerException public static void main(String[] args) throws Exception { Boolean b = true ? returnsNull() : false; // NPE on this line. System.out.println(b); } public static Boolean returnsNull() { return null; } поки цього немає public static void main(String[] args) throws Exception { Boolean b = true …

4
Чому String.valueOf (null) кидає NullPointerException?
згідно з документацією, метод String.valueOf(Object obj)повертає: якщо аргумент є null, то рядок дорівнює "null"; в іншому випадку obj.toString()повертається значення. Але як прийти, коли я спробую це зробити: System.out.println("String.valueOf(null) = " + String.valueOf(null)); він замість цього кидає NPE? (спробуйте самі, якщо не вірите!) Виняток у потоці "main" java.lang.NullPointerException на java.lang.String. (невідоме …

19
Нульова перевірка ланцюга проти лову NullPointerException
Веб-сервіс повертає величезний XML, і мені потрібно отримати доступ до глибоко вкладених полів. Наприклад: return wsObject.getFoo().getBar().getBaz().getInt() Проблема в тому getFoo(), що getBar(), getBaz()можливо, всі повернуться null. Однак якщо я перевіряю nullв усіх випадках, код стає дуже багатослівним і важко читається. Більше того, я можу пропустити перевірку деяких полів. if (wsObject.getFoo() …

8
Не вдається знайти @Nullable всередині javax.annotation. *
Я хочу використовувати @Nullable анотацію для усунення NullPointerExceptions. Я знайшов кілька підручників у мережі, я помітив, що ця анотація надходить із пакету javax.annotation.Nullable; але коли я імпортую його, створюється помилка компіляції: не вдається знайти символ

5
Boolean.valueOf () іноді створює NullPointerException
У мене є цей код: package tests; import java.util.Hashtable; public class Tests { public static void main(String[] args) { Hashtable<String, Boolean> modifiedItems = new Hashtable<String, Boolean>(); System.out.println("TEST 1"); System.out.println(modifiedItems.get("item1")); // Prints null System.out.println("TEST 2"); System.out.println(modifiedItems.get("item1") == null); // Prints true System.out.println("TEST 3"); System.out.println(Boolean.valueOf(null)); // Prints false System.out.println("TEST 4"); System.out.println(Boolean.valueOf(modifiedItems.get("item1"))); // …

13
NullPointerException, що отримує доступ до переглядів у onCreate ()
Це канонічне питання щодо проблеми, яка часто розміщується в StackOverflow. Я стежу за підручником. Я створив нову діяльність за допомогою майстра. Я отримую NullPointerExceptionпри спробі викликати метод на Views, отриманий findViewById()у своїй діяльності onCreate(). Діяльність onCreate(): @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); View something = findViewById(R.id.something); something.setOnClickListener(new View.OnClickListener() …


11
Eclipse / Android: "Помилки запуску програми для конструктора" Android Pre Compiler "в проекті ..."
Спроба зробити якусь роботу над проектом Android, над якою я не працювала пару місяців, але кожен раз, коли я намагаюся створити проект Eclipse, відкриває діалогове вікно: 'Building workspace' has encountered a problem Errors occurred during the build. Errors running builder 'Android Pre Compiler' on project 'XXX' java.lang.NullPointerException Я запускаю Eclipse …

2
Чому Double.parseDouble (null) та Integer.parseInt (null) створюють різні винятки?
Чому Double.parseDouble (null) та Integer.parseInt (null) створюють різні винятки? Це історична аварія чи навмисне? У документації чітко зазначено два типи винятків для Double.parseDouble(...)та один для Integer.parseInt(), але це видається суперечливим: Integer.parseInt(null); // throws java.lang.NumberFormatException: null Однак Double.parseDouble(null); // throws java.lang.NullPointerException

7
Чому це не створює NullPointerException?
Пояснення Nead для наступного коду: StringBuilder sample = new StringBuilder(); StringBuilder referToSample = sample; referToSample.append("B"); System.out.println(sample); Це буде надруковано Bтак, щоб докази sampleта referToSampleоб’єкти посилалися на одне і те ж посилання на пам’ять. StringBuilder sample = new StringBuilder(); StringBuilder referToSample = sample; sample.append("A"); referToSample.append("B"); System.out.println(referToSample); Буде надруковано ABте, що також …

4
Android: передайте дані (додатки) фрагменту
Я новачок у програмуванні Android, і у мене виникають проблеми під час передачі ArrayList Parcelable фрагменту. Це Діяльність, яка запускається (працює добре!), Де канал подання - це ArrayList музики, що підлягає посиланню . Intent in = new Intent(context, ListMusicsActivity.class); in.putExtra("arrayMusic", feedList); activity.startActivity(in); Метод фрагмента Activity onCreate (): @Override protected void …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.