Я получаю ошибку «или небезопасные операции» в этом методе:или небезопасные операции на ObjectInputStream
public static MyClass initApp(){
MyClass obj = new MyClass();
try{
ObjectInputStream oin =
new ObjectInputStream(new FileInputStream("file.dat"));
obj.setSomeList ((Map<String,MyOtherClass>) oin.readObject()); //error line
}catch(IOException e)
{ System.out.println(e.getMessage()); }
catch(ClassNotFoundException e)
{ System.out.println(e.getMessage()); }
return obj;
}
Не Карта наиболее абстрактно, так как в этом случае возможно? Как я могу это решить?
Метод setSomeList (ПРИМЕЧАНИЕ Он находится в другом классе, если это помогает!):
public void setSomeList(Map<String,MyOtherClass> l){
for(Map.Entry<String,MyOtherClass> entrada : l.entrySet())
someList.put(entrada.getKey(),entrada.getValue().clone());
}
Теперь вы считаете, что объект, считанный из потока, представляет собой карту. Вы должны дважды проверить класс объекта, прочитанного перед литьем. –
CConard96
@ CConard96 Как это сделать в среде «ObjectInputStream»? –
ИДК, что происходит в вашей голове, но почему у пытается бросить oin.readObject(), можно сказать, у меня – emotionlessbananas