Gå til innhold

[Løst] Skrive lister til fil


Anbefalte innlegg

Heisann,

 

Sett at man har en

abstract class Dyr

og feks

 

class Hest extends Dyr

og

class Ku extends Dyr

 

Er det noe problem å legge inn hester og kuer i en ArrayList og deretter skrive dem til fil slik

try(ObjectOutputStream ut = new ObjectOutputStream(new FileOutputStream(fil))){
  ut.writeObject(liste);

 }catch(Exception e) {
 }

 

jeg får det hvertfall ikke til og lurer på om det er noe jeg ikke har fått med meg :p

Jeg får det til med lister med konkrete objekter.

Lenke til kommentar
Videoannonse
Annonse

Heisann,

 

Sett at man har en

abstract class Dyr

og feks

 

class Hest extends Dyr

og

class Ku extends Dyr

 

Er det noe problem å legge inn hester og kuer i en ArrayList og deretter skrive dem til fil slik

try(ObjectOutputStream ut = new ObjectOutputStream(new FileOutputStream(fil))){
  ut.writeObject(liste);

 }catch(Exception e) {
 }

 

jeg får det hvertfall ikke til og lurer på om det er noe jeg ikke har fått med meg :p

Jeg får det til med lister med konkrete objekter.

Er helt sikkert noe du ikke har fått med deg.

 

Dette vil funke

ArrayList<Dyr> liste = new ArrayList<Dyr>();
liste.add(new Ku());
liste.add(new Hest());

 

Her vil du få en error når du prøver å sette inn en ny ku.

ArrayList<Hest> liste = new ArrayList<Hest>();
liste.add(new Ku());
liste.add(new Hest());

 

Dette er fordi Hest og Ku utvider Dyr, dvs de har samme "stamtre", de arver fra Dyr. Ku og Hest er forskjellige. Det er sikkert ikke dette du lurer på. Abstrakte klasser er bare beskrivelser, du kan ikke lage instanser av dem. Det må du gjøre med vanlige klasser.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...