Hashtabelle auslesen
-
Hi,
wie bekomme cih folgendes zum Laufen?:
import java.io.*; import java.util.*; public class Data { public static void main(String[] args) { Integer i; Hashtable ht = new Hashtable(); ht.put("Robert", new Integer(20) ); ht.put("Jochen", new Integer(47) ); ht.put("Gabi", new Integer(43) ); for( Enumeration e = ht.keys(); e.hasMoreElements(); ) { System.out.println(((Integer)(e.nextElement())).intValue()); } } }
Vielen Dank schon mal im Voraus, MFG, '][' !
-
Wie lautet denn die Fehlermeldung?
-
hi, beim kompilieren gibt es keine fehlermeldung, aber beim ausführen.
Exception in thread "main" java.lang.ClassCastException: java.lang.String at Data.main(Data.java:23)
-
Mit getKeys erhälst du lediglich eine Auflistung (Enumeration) von "Robert", "Jochen" und "Gabi". Mit diesen Keys kannst du dann mittels ht.get() und dem String (das ist der Key) den Wert holen - dieser muss dann in ein Integer gecastet werden. Jetzt versuchst du aus "Robert" einen Integer zu machen und das kann ja wohl nicht gehen
public class Data { public static void main(String[] args) { Integer i; Hashtable ht = new Hashtable(); ht.put("Robert", new Integer(20) ); ht.put("Jochen", new Integer(47) ); ht.put("Gabi", new Integer(43) ); for( Enumeration e = ht.keys(); e.hasMoreElements(); ) { String key = (String)e.nextElement(); Integer value = (Integer)ht.get(key); System.out.println(key + " ==> "+value.intValue()); } } }