改成:
while(iterator.hasNext()){
System.out.println(iterator.next() );
//System.out.println(iterator.next().toString());//两个都可以用,随便
}
你放进HashMap的就不是一个String
取出来的肯定不可能转化成正常的String对象
但由于iterator的next方法返回Object,所以你可以调用toString方法
(不写toStringjava会自动帮你调用的)
while(iterator.hasNext()){
System.out.println(iterator.next() );
//System.out.println(iterator.next().toString());//两个都可以用,随便
}
你放进HashMap的就不是一个String
取出来的肯定不可能转化成正常的String对象
但由于iterator的next方法返回Object,所以你可以调用toString方法
(不写toStringjava会自动帮你调用的)
这一句,不能这么强制转换的
应该用
System.out.println( iterator.next().toString() );
改成
System.out.println( iterator.next().toString());
System.out.println( iterator.next() );
}不是String型啊,怎么能强制转换呢?为什么要用HashMap,HashMap体现在键值对的。
System.out.println( iterator.next() );
public String toString() {
return getKey() + "=" + getValue();
}
另外,不主张显式的写出toString,当然在这里不会出问题,但是如果在其他情况下,比如说List取出来的是null,那就会出NullPointerException了
Iterator iterator = tempMap.entrySet().iterator();改成:
Iterator iterator = tempMap.values().iterator();
就解决了我的问题!