Ich erhalte einen „Ungeprüfte oder unsichere Operationen“ Fehler bei dieser Methode:Ungeprüfter oder unsichere Operationen bei Object
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;
}
Karte ist nicht die abstrakt wie möglich in diesem Fall? Wie kann ich das lösen?
Methode setSomeList (Hinweis: Es ist in einer anderen Klasse platziert Wenn das hilft!):
public void setSomeList(Map<String,MyOtherClass> l){
for(Map.Entry<String,MyOtherClass> entrada : l.entrySet())
someList.put(entrada.getKey(),entrada.getValue().clone());
}
Im Moment nehmen Sie nur an, dass das aus dem Stream gelesene Objekt eine Map ist. Sie sollten die Klasse des gelesenen Objekts vor dem Casting überprüfen. –
CConard96
@ CConard96 Wie kann ich das in ObjectInputStream "Umgebung" tun? –
idk was geht durch Ihren Verstand, aber warum Sie versuchen, oin.readObject(), können Sie mir sagen, – emotionlessbananas