Java:hashmap和keyset()的问题

时间:2010-01-08 18:37:23

标签: java hashmap

这就是我正在做的事情(这是我的“家庭作业”):分配是制作沙鼠的地图,然后使用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)是一个对象(当我打印它时,它显示为一个对象)但由于某种原因“无法找到符号”。

提前感谢您的帮助, 保罗

1 个答案:

答案 0 :(得分:8)

你想要Map<String,Gerbil>hoop中没有Object方法。

(您可能也对Map.valuesMap.entrySet感兴趣。)