# HashMap: Zugriff auf Werte scheitert



## Der Held (21. November 2005)

Folgender Code 

```
System.out.println("Alt: "+issue.getChild("issueScope1").getAttributeValue("id")+ " Neu: "+ scopeOptTranslation.get(issue.getChild("issueScope1").getAttributeValue("id")));
			System.out.println("Drin "+(scopeOptTranslation.containsKey(issue.getChild("issueScope1").getAttributeValue("id"))));		
			System.out.println(scopeOptTranslation.get("1")+"");
			Collection t = scopeOptTranslation.entrySet();
			for (Iterator iter = t.iterator(); iter.hasNext();) {
				String element = iter.next().toString();
				System.out.println(element);
				
			}
			System.out.println("1:" + scopeOptTranslation.get("1"));
			System.out.println("2:" + scopeOptTranslation.get("2"));
			System.out.println("5:" + scopeOptTranslation.get("5"));
			System.out.println("6:" + scopeOptTranslation.get("6"));
			System.out.println("8:" + scopeOptTranslation.get("8"));
```

erzeugt folgende Ausgabe

```
Alt: 1 Neu: null
Alt: 1 Neu: null
Drin false
null
[Attribute: id="8"]=258
[Attribute: id="5"]=256
[Attribute: id="7"]=253
[Attribute: id="4"]=255
[Attribute: id="1"]=251
[Attribute: id="9"]=259
[Attribute: id="6"]=257
[Attribute: id="3"]=254
[Attribute: id="2"]=252
[Attribute: id="10"]=260
1:null
2:null
5:null
6:null
8:null
```
Das Problem:
Wenn ich mir ueber entrySet() die Schluessel ausgeben lasse, sehe ich dass die Schluessel 1,2,5,6 und 8 existieren und ihnen Werte zugeordnet sind. Wenn ich drauf zugreife erhalte ich immer null zurueck. Was ist denn nun daran falsch?

Die ganzen Rattenschwaenze mit getChild() etc. kommen daher, dass ich die Schluessel mit JDOM aus einer XML-Datei auslese.


----------



## Thomas Darimont (21. November 2005)

Hallo!

  Da dein geposteter Codeausschnitt nicht gerade viel hergibt, kann man dir auch nur bedingt helfen. Es schaut ganz danach aus, dass du als Key nicht "1", "2" ... 3 etc. verwendest sondern die Attribut Wrapper welche du beim Parsen von JDOM erhälst.
 Iteriere doch mal über das KeySet der Map und versuche darüber an die Werte zu kommen.

 Gruss Tom


----------



## Der Held (21. November 2005)

Manchmal sieht man den Wald vor lauter Baeumen nicht. Ich hatte die Keys mit getAttribute("id")  anstelle von getAttributeValue("id") in die HashMap geschrieben.

Dachte dass diese [Attribute: id="4"] daher kommt dass ich die Elemente der Collection einfach direkt ausgebe.

Sorry fuer den wenig brauchbaren Code, aber die zugehoerige Methode ist durch die Fehlersuche so aufgeblaeht, dass ich sie hier nicht reinschreiben wollte. 

Vielen Dank fuer den Schubser in die richtige Richtung.


----------

