2014-09-18 5 views
-2

Почему код ниже проливает нулевой указатель excetion в test.put (1, «сд»)NullPointerException при вызове метода на нулевой карте

public class HashMap { 
    @SuppressWarnings("null") 
    public static void main(String a[]){ 
    Map test = null; 
    test.put(1, "sd"); 
    System.out.println(test); 
    } 
} 
+0

Этот вопрос не имеет отношения к картам. – immibis

+1

Кстати. Предупреждение, которое вы подавили, предупреждает вас о вашей ошибке. – helios

+0

человек, которого вы должны прочитать о карте. сначала сделайте это, а затем попробуйте что-нибудь, потому что я вижу огромный пробел здесь – vikeng21

ответ

0

Поскольку тест является недействительным.

Map test = null; 

Попробуйте создать копию вместо этого.

Map test = new HashMap(); 

Или попробуйте параметризированный карту:

Map<Integer,String> test = new HashMap<Integer,String>(); 
+0

, но тогда я вставляю значение - test.put (1, "sd"); Тогда y исключение – user3839699

+0

Вы не можете вставить значение в нулевой объект. Объект должен существовать, прежде чем вы сможете добавить значение. – nostromo

+0

@ user3839699 Что, точно, как вы думаете, вы вставляете значение * в *? Вы не создали «карту» для ввода своих данных - вы явно используете «null» .... – dimo414

Смежные вопросы