Det er jo bare en warning, dit program virker jo stadig. Så vidt jeg kan se så er det bare en undtagelse i generics som gør at du netop får en warning i dette tilfælde.
hvis man kan hive det ud sådan her (hvilket jeg tvivler) så ville du måske slippe for den warning... men om ikke andet så er det en logisk warning.. readObject returnere et object.. og det kan være hvad som helst jo så det er ikke særlig typesafe
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file)); Object tmp = (Object)in.readObject(); map = (HashMap<String, Double>)tmp; in.close();
men det skal siges at jeg har testet i JDev.. og der synes jeg ikke at der kom nogle warnings ved at jeg gjorde dette
HashMap<String,Film> map = new HashMap<String,Film>();
FileOutputStream out = new FileOutputStream("database.dat"); ObjectOutputStream obout = new ObjectOutputStream(out); obout.writeObject(map); obout.close();
FileInputStream in = new FileInputStream("database.dat"); ObjectInputStream obout = new ObjectInputStream(in); map = (HashMap<String,Film>)obout.readObject()
Film er en egendefineret klasse. Men måske du bare skulle se på nogle warnings som en mindre oplysning til dig som udvikler:)
Jeg bruger Eclipse, og der kommer warningen godt nok. Men der er jo ikke rigtig noget at gøre ved det, hvis man ikke på en "elegent" måde kan komme af med den, så må jeg jo leve med den hehe.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.