roomCharacters
是键和值(String
键和 Character
对象)的 HashMap
。
我需要从集合中返回一个角色。当调用该方法时,我使用迭代器简单地返回它找到的第一个字符。
public Character getCharacter()
{
Iterator<HashMap.Entry<String, Character>> it = roomCharacters.entrySet().iterator();
if (it.hasNext())
{
HashMap.Entry pair = (Map.Entry)it.next();
return pair.getValue();
}
}
但是编译失败:
incompatible types: java.lang.Object cannot be converted to Character
显然我误解了某些内容或错过了一步。请建议并解释我哪里出错了。
最佳答案
如果您使用正确的类型参数声明对变量,它将起作用,并且您可以摆脱额外的强制转换:
HashMap.Entry<String,Character> pair = it.next();
关于java - 使用 Iterator 从 HashMap 返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30990596/