Avatar billede new-b Nybegynder
05. januar 2004 - 17:35 Der er 6 kommentarer og
1 løsning

forskellige objekter Arraylist

Hej
Jeg har en arraylist med 3 typer af objekter i.
Hvordan skriver jeg alle objekterne ud på en gang ?
Spørg endelig hvis i ikke forstår hvad jeg mener :)
Avatar billede mikkelbm Nybegynder
05. januar 2004 - 17:45 #1
hvis det er noget specielt fra hver type objekt du vil ha' skrevet ud, kan du bruge instanceof.

Ellers kan du jo lave en toString metode for hver type objekt.
Avatar billede mikkelbm Nybegynder
05. januar 2004 - 17:46 #2
eksempel:

if(object instanceof ObjectType1)
{
  ((ObjectType1)object).dinMetode();
}

else if(object instanceof ObjectType2)
{
  ((ObjectType2)object).dinMetode();
}

else if(object instanceof ObjectType3)
{
  ((ObjectType3)object).dinMetode();
}
Avatar billede mikkelbm Nybegynder
05. januar 2004 - 17:48 #3
og det ovenstående gør du i en for-løkke:

for (int i = 0; i < list.size(); i++)
{
  Object object = list.get(i);
 
  if(object instanceof ObjectType1)
  {
    ((ObjectType1)object).dinMetode();
  }

  else if(object instanceof ObjectType2)
  {
    ((ObjectType2)object).dinMetode();
  }

  else if(object instanceof ObjectType3)
  {
    ((ObjectType3)object).dinMetode();
  }
}
Avatar billede new-b Nybegynder
05. januar 2004 - 18:14 #4
den der hedder dinMetode... er det så en alminedlig System.out.println ?
Avatar billede mikkelbm Nybegynder
05. januar 2004 - 18:17 #5
det kunne det være...
Men tanken var nu at metoden returnerede et eller andet.
Eksempelvis en string.

if(object instanceof ObjectType1)
{
    System.out.println(((ObjectType1)object).dinMetode());
}

Men nu ved jeg jo ikke hvilke type objekter det er du smider i din ArrayList!
Avatar billede arne_v Ekspert
05. januar 2004 - 18:29 #6
Hvis alle dine objekter har en toString metode kan du bare udskrive
listen med:

System.out.println(al);
Avatar billede arne_v Ekspert
05. januar 2004 - 18:29 #7
Ja - det kan du også selv de ikke har en toString metode, men
output er ikke særligt brugbart så.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester