我在一个存储String键和boolean值的类中有一个 Map。然后,我从函数返回地图getMap()。public class FacilityMachines { private static Map<String, Boolean> map = new HashMap<String, Boolean>(); public Map getMap(){ return map; }在下面的课程中,我试图获取该地图,然后将其保存到外部文件中,我还在FacilityMachines那里实例化:public class WriteFile { FacilityMachines fm = new FacilityMachines(); private Map<String, Boolean> m = new HashMap<String, Boolean>();}在WriteFile中,我试图将地图解析成一个新的 HashMap:public void saveFacilityInfo() { for (Map.Entry<String, Boolean> j: fm.getMap().entrySet()){ String s = j.getKey(); boolean b = j.getValue(); oStream.println(i + ": " + s + " = " + b + ". "); }}oStream只是我的变量PrintWriter。以上产生Object cannot be converted to Entry<String, Boolean>错误。如果我将方法签名更改saveFacilityInfo为saveFacilityInfo(FacilityMachines fm),然后使用该fm变量尝试在该行获取地图,for (Map.Entry<String, Boolean> j: fm.getMap().entrySet())那么我会从接口中获得cannot find symbol所有函数的a : 、和。EntryentrySet()getKey()getValue()在有人问之前,我已经导入了HashMapand Map,并且还尝试使用 onlyimport java.util.*;来导入所有内容以防万一。我也尝试过扩展并FacilityMachines得到WriteFile了相同的结果。
1 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
您需要在 FacilityMachines 类的 getMap() 方法上以正确的类型返回地图
public class FacilityMachines {
private static Map<String, Boolean> map = new HashMap<String, Boolean>();
public Map<String, Boolean> getMap(){
return map;
}
}
添加回答
举报
0/150
提交
取消