NullPointerException при переходе через HashMap - значения определенно присутствуютJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 NullPointerException при переходе через HashMap - значения определенно присутствуют

Сообщение Anonymous »

Я сталкиваюсь с nullpointerexception в моем коде Java, когда пытаюсь итерацию через значения Hashmap . Я проверил, и я уверен, что ключи и значения добавляются на карту правильно. Я даже распечатал их непосредственно перед петлей, и они там. Исключение происходит в самой петле. Что может вызвать это, и как я могу это исправить?

Код: Выделить всё

import java.util.HashMap;
import java.util.Map;

public class HashMapProblem {

public static void main(String[] args) {
Map myMap = new HashMap();

// Populate the map (assume this part works correctly)
myMap.put("key1", new MyObject("value1"));
myMap.put("key2", new MyObject("value2"));
myMap.put("key3", new MyObject("value3"));
myMap.put("key4", null); //Added to reproduce the problem

System.out.println("Map contents: " + myMap); // Debug print

try {
for (MyObject obj : myMap.values()) {
// NullPointerException happens on the next line SOMETIMES!
System.out.println(obj.getValue());
}
} catch (NullPointerException e) {
System.err.println("Caught NullPointerException: " + e.getMessage());
e.printStackTrace(); // Print the full stack trace
}
}
}

class MyObject {
private String value;

public MyObject(String value) {
this.value = value;
}

public String getValue() {
return value;
}
}
< /code>
Тогда это то, что я получаю в качестве вывода: < /p>
Map contents: {key1=MyObject@..., key2=MyObject@..., key3=MyObject@..., key4=null}
Caught NullPointerException: null
java.lang.NullPointerException
at HashMapProblem.main(HashMapProblem.java:19)
... (rest of the stack trace)
< /code>
Я полностью озадачен. Карта явно имеет значения, но я все еще получаю NullPointerException 
. Любая помощь будет очень оценена!

Подробнее здесь: https://stackoverflow.com/questions/794 ... initely-pr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»