Исключение нулевого указателя со статическим hashMap - PullRequest
1 голос
/ 27 декабря 2011
 public class arraylst
 {
   static HashMap<String,List<String>>hm;
   public static void main(String[] args)
   {
       hm.put("2",Arrays.asList("a","b","c"));
   }
 } 

Я не понимаю, почему это вызывает NullPointerException.

Может кто-нибудь помочь мне?

Ответы [ 5 ]

4 голосов
/ 27 декабря 2011

Вам необходимо установить hm:

hm = new HashMap<String, List<String>>();

перед использованием.

2 голосов
/ 27 декабря 2011

Использование

static HashMap<String, List<String>> hm = new HashMap<String, List<String>>();
2 голосов
/ 27 декабря 2011

Вам нужно поместить HashMap<String,List<String>> в ваше (изначально пустое) поле hm.

1 голос
/ 27 декабря 2011

В отличие от примитивных переменных, классы должны быть явно инициализированы.Так что создайте экземпляр HasMap.

0 голосов
/ 27 декабря 2011

Вы указываете на ссылку, у которой нет Объекта. Итак, вы пытаетесь сослаться на объект, который еще не создан.

Таким образом, используя «новое» ключевое слово, создайте Объект, чтобы преодолеть исключение

static HashMap<String,List<String>> hm = new HashMap<String,List<String>>();
...