这就是我正在做的事情(这是我的“作业”):任务是制作一张沙鼠 map ,然后使用 keySet() 和 get(key) 翻阅它;
import java.util.*;
class Gerbil
{
int gerbilNumber;
Gerbil(int i)
{
gerbilNumber = i;
}
void hoop()
{
System.out.println("The gerbil can jump and its number is: " + gerbilNumber);
}
}
public class GerbilMaze2
{
static Map<String,Object> fill(Map<String,Object> m)
{
m.put("Rat2", new Gerbil(2));
m.put("Rat1", new Gerbil(1));
m.put("Rat3", new Gerbil(3));
return m;
}
public static void main(String[] args)
{
Map<String,Object> gerbils = fill(new HashMap<String, Object>());
System.out.println(gerbils.keySet());
for (String k : gerbils.keySet())
{
gerbils.get(k).hoop();
}
}
}
直到我调用 hoop() 方法的那一刻,一切似乎都很好。 gerbils.get(k) 是一个对象(当我打印它时,它显示为一个对象)但由于某种原因“找不到符号”。
在此先感谢您的帮助, 保罗
最佳答案
你想要Map<String,Gerbil>
.没有 hoop
Object
中的方法.
(您可能还对 Map.values
和 Map.entrySet
感兴趣。)
关于Java:hashmap 和 keyset() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2029810/