以下是我照书上编写的例子
import java.util.HashMap;
import java.util.Map;
import java.util.Set;import sun.text.CompactShortArray.Iterator;public class Map01 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Map map = new HashMap();
map.put("123", "tome");
map.put("2123", "kome");
map.put("3312", "tofme");
map.put("4123", "tofe");
map.put("51231", "tiem");
map.put("612312", "key"); Set keySet = map.keySet();
Iterator iterator = (Iterator) keySet.iterator();
while (iterator.hasNext()) {
char key = iterator.next();
System.out.println(key);
}
}}
可运行起来出现下列的错误
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap$KeyIterator
at Map01.main(Map01.java:23)
我以将23行标出,我是个初学者,我检查了半天也没有检查出错误来,请哪位高手指教以下啊。
import java.util.HashMap;
import java.util.Map;
import java.util.Set;import sun.text.CompactShortArray.Iterator;public class Map01 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Map map = new HashMap();
map.put("123", "tome");
map.put("2123", "kome");
map.put("3312", "tofme");
map.put("4123", "tofe");
map.put("51231", "tiem");
map.put("612312", "key"); Set keySet = map.keySet();
Iterator iterator = (Iterator) keySet.iterator();
while (iterator.hasNext()) {
char key = iterator.next();
System.out.println(key);
}
}}
可运行起来出现下列的错误
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap$KeyIterator
at Map01.main(Map01.java:23)
我以将23行标出,我是个初学者,我检查了半天也没有检查出错误来,请哪位高手指教以下啊。
在char key = ((Character)iterator.next()).charValue();
引入的错误...
java.util.Iterator 这个是集合类的迭代器接口
而应该是java.util.Iterator
还有就是char key = iterator.next();
是String而不是char
import java.util.HashMap;
import java.util.Iterator;//增加Iterator包
import java.util.Map;
import java.util.Set;//import sun.text.CompactShortArray.Iterator;//这里包的导入错误!public class Map01 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("123", "tome");
map.put("2123", "kome");
map.put("3312", "tofme");
map.put("4123", "tofe");
map.put("51231", "tiem");
map.put("612312", "key"); Set keySet = map.keySet();
Iterator iterator = (Iterator) keySet.iterator();
while (iterator.hasNext()) {
//char key = iterator.next();//这里的错误最为明显,不该犯的的错噢!
String key = (String) iterator.next();
System.out.println(key);
}
}}