/ / Java HashMap <String, ArrayList <Object [] >> Wie füge ich ein leeres Array hinzu? - Java, Arrayliste, Hashmap

Java HashMap <String, ArrayList <Objekt [] >> Wie fügt man ein leeres Array hinzu? - Java, Arraylist, hashmap

Ich benutze HashMap in meiner Anwendung und manchmal muss ich einen Schlüssel (String) mit einem Nullwert (emty array list of objects) hinzufügen. Aber Netbeans 7.4 sagt:

Exception in thread "main" java.lang.NullPointerException
at test.Version.main(Version.java:35)
Java Result: 1

zu diesem Code:

        HashMap<String, ArrayList<Object[]>> d = null;

ArrayList<Object[]> a;
a = new ArrayList<>();

d.put("key1", a);

Ich möchte keine MultiMap verwenden. Gibt es einen anderen Weg, um es leicht zu lösen?

Antworten:

4 für die Antwort № 1
Map<String, List<Object[]>> d = new HashMap<String, List<Object[]>>;
List<Object[]> a = new ArrayList<Object[]>();
d.put("key1", a);

Wenn d null ist, dann -> NullPointerException;)


5 für die Antwort № 2

Du bekommst ein NullPointerException weil d ist nullund Sie versuchen es mit Ihrem Anruf an zu verwerfen d.put("key1", a).

Sie können dies beheben, indem Sie Ihre Initialisierung von ändern d zu

HashMap<String, ArrayList<Object[]>> d = new HashMap<String, ArrayList<Object[]>>();

Nun das d isn "t null, können Sie die Methoden native zu verwenden HashMap, mögen d.put("key1", a).


2 für die Antwort № 3

Du kannst nicht anrufen map.put ohne zuerst eine Instanz davon zu erstellen, ist Ihre Karte immer noch null.

Sie müssen es zuerst instanziieren:

Map<String, ArrayList<Object[]>> d = new HashMap<String, ArrayList<Object[]>>();

und dann:

d.put("key1", a);

2 für die Antwort № 4

Sie schrieben:

HashMap<String, ArrayList<Object[]>> d = null;

und dann versuchst du, element auf null zu setzen:

d.put("key1", a);

Sie müssen zuerst die Instanz von HashMap deklarieren:

 HashMap<String, ArrayList<Object[]>> d = new HashMap<String, ArrayList<Object[]>>();