У меня есть карта в классе, где я храню ключ String
и значение boolean
.Затем я возвращаю карту из функции getMap()
.
public class FacilityMachines {
private static Map<String, Boolean> map = new HashMap<String, Boolean>();
public Map getMap(){
return map;
}
. В приведенном ниже классе я пытаюсь получить эту карту, а затем сохранить ее во внешнем файле и создать экземпляр * 1007.* Там:
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
на всехфункции из интерфейса Entry
: entrySet()
, getKey()
и getValue()
.
И прежде чем кто-либо спросит, я импортировал HashMap
и Map
, а также пытался использовать толькоimport java.util.*;
для импорта всего на всякий случай.
Я также пытался расширить FacilityMachines
с WriteFile
и получил те же результаты.