Java:hashmap和keyset()的问题

paw*_*ior 1 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();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

从调用hoop()方法的那一刻起,一切似乎都很好.gerbils.get(k)是一个对象(当我打印它时,它显示为一个对象)但由于某种原因"无法找到符号".

保罗,先谢谢你的帮助

Tom*_*ine 8

你想要的Map<String,Gerbil>.没有hoop方法Object.

(您可能也有兴趣在Map.valuesMap.entrySet.)