这就是我正在做的事情(这是我的“家庭作业”):分配是制作沙鼠的地图,然后使用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)是一个对象(当我打印它时,它显示为一个对象)但由于某种原因“无法找到符号”。
提前感谢您的帮助, 保罗
答案 0 :(得分:8)
你想要Map<String,Gerbil>
。 hoop
中没有Object
方法。
(您可能也对Map.values
和Map.entrySet
感兴趣。)