Выдает ошибку при попытке создать новый HashMap в Яве [дубликат]

141
20 мая 2019, 03:20

На данный вопрос уже ответили:

  • Что такое Null Pointer Exception и как его исправить? 4 ответа

В классе Schedule имеется constructor

private  HashMap<DaysOfTheWeek, ArrayList<Program>> weeklyShedual;
public Schedule() {
    ArrayList<Program> daily = new ArrayList<>();
    weeklyShedual.put(DaysOfTheWeek.SUNDAY, daily);
    weeklyShedual.put(DaysOfTheWeek.MONDAY, daily);
    weeklyShedual.put(DaysOfTheWeek.TUESDAY, daily);
    weeklyShedual.put(DaysOfTheWeek.WEDNESDAY, daily);
    weeklyShedual.put(DaysOfTheWeek.THURSDAY, daily);
    weeklyShedual.put(DaysOfTheWeek.FRIDAY, daily);
    weeklyShedual.put(DaysOfTheWeek.SATURDAY, daily);
}

По идее он должен создать семь ключей по количеству дней недели (дни отдельно в Enum), и к каждому из них пустой ArrayList при команде

    Schedule schedule = new Schedule();

Но почему-то он выдаёт NullPointerException. Кто-то знает почему?

Answer 1

Вся фишка кроется в строке -> private HashMap<DaysOfTheWeek, ArrayList<Program>> weeklyShedual;
Это просто резервирование памяти для объекта HashMap, самого объекта там ещё нет
Чтобы не вылетала ошибка, должно быть что-то вроде private HashMap<DaysOfTheWeek, ArrayList<Program>> weeklyShedual = new HashMap<DaysOfTheWeek, ArrayList<Program>>();

READ ALSO
Обработк ошибок на jquery-ajax + JAX-RS

Обработк ошибок на jquery-ajax + JAX-RS

Кто может поделитесь простым примером, как вы отправляете информативное сообщение, в случае обработки запроса ajax, когда нужно вернуть ошибку

139
Сортировка сообщений в ArrayList

Сортировка сообщений в ArrayList

Есть кастомный адаптер для лист вью в который добавляются сообщенияПоследовательность сообщений идет сверху вниз

176
Java x64 и x86 в чем разница?

Java x64 и x86 в чем разница?

Откомпилировал одно и тоже приложение примерно по 1000 раз на 86 и 64 разрядной windows 7 результат такой:

168