为了账号安全,请及时绑定邮箱和手机立即绑定

不是“不安全操作”错误:不兼容的类型 Object 无法转换为

不是“不安全操作”错误:不兼容的类型 Object 无法转换为

GCT1015 2022-07-06 16:00:09
我在一个存储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;

    }

}


查看完整回答
反对 回复 2022-07-06
  • 1 回答
  • 0 关注
  • 274 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信