比如我写以下代码:
import java.util.Hashtable;
import java.util.Enumeration;class hashtest{
public void main(String args[]){
Hashtable ht=new Hashtable();
ht.put(1,"a");
ht.put(2,"b");
Enumeration e=ht.keys();
for(;e.hasMoreElements();){
int i= e.nextElement(); //编译提示该行错误
System.out.println(i);
}
}
}编译错误:不兼容的类型
尝试把上面错误那行改为int i= int(e.nextElement()); 提示:需要”;“请问怎样才能把hashtable的键或值赋值给变量?谢谢~
import java.util.Hashtable;
import java.util.Enumeration;class hashtest{
public void main(String args[]){
Hashtable ht=new Hashtable();
ht.put(1,"a");
ht.put(2,"b");
Enumeration e=ht.keys();
for(;e.hasMoreElements();){
int i= e.nextElement(); //编译提示该行错误
System.out.println(i);
}
}
}编译错误:不兼容的类型
尝试把上面错误那行改为int i= int(e.nextElement()); 提示:需要”;“请问怎样才能把hashtable的键或值赋值给变量?谢谢~
方法很简单,用hasNext判断,用next返回迭代的元素
import java.util.Enumeration; public class HashTest{
public static void main(String args[]){
Hashtable<Integer, String> ht = new Hashtable<Integer, String>();
ht.put(1,"a");
ht.put(2,"b"); Enumeration<Integer> e=ht.keys();
for(;e.hasMoreElements();){
int i= e.nextElement();
System.out.println(i);
}
}
}
int i= Integer.parseInt(e.nextElement().toString());
不过最好像3楼那样,jdk5.0后引入了泛型,你在定义Hashtable之类的集合类时最好指明它里面键值对的类型