— Привет, Амиго!
16
Задача
Java Multithreading,
9 уровень,
7 лекция
Недоступна
Странные ошибки О_о
Исправь 2 ошибки:
1) возникновение исключения
2) подвисание
Сделай минимальные изменения.
9
Задача
Java Multithreading,
9 уровень,
7 лекция
Недоступна
Особенности автобоксинга - 2
Исправь ошибку реализации, приводящую к NullPointerException, в методе getValue().
Читай доп. статью про особенности автобоксинга.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
*опеjava) https://tproger.ru/articles/9-things-about-null-in-java/ Мало ли кому будет интересно)Вторая задача
Как я понимаю, логика тут у компилятора такая: Тернарник должен иметь все значения внутри себя одинакового типа. Он смотрит на правую часть: 1) 200 : null - тут int и null, к чему их привести? К int null привести нельзя, зато оба можно к Integer Отлично, с правой частью все решили, теперь левую: 2) 100 : Integer - (сразу написал Integer из пункта 1, чтобы было нагляднее) У нас int и Integer, по правилам Java в такой ситуации их нужно привести к примитиву int Теперь у нас все значения в тернарнике имеют тип int, который будет преобразован к Integer, чтобы его можно было вернуть. Приведение к примитиву int происходит при вызове метода intValue() у объекта. Все бы ничего, так как в ситуации 100 : Integer. У Integer есть такой метод, но если вспомнить, что в части Integer у нас лежит null, то становится ясна проблема: нельзя написать null.intValue(). А компилятор именно это и делает Ну и подсказка для решения: Нам нужно избавить компилятор от необходимости приводить что-то к int