09. november 2004 - 15:04
Der er
19 kommentarer og 2 løsninger
Oprette objekter i ArrayList
ArrayList opgaver = new ArrayList(); opgaver.add (new Fag("Dat",8,2)); Vil man kunne skrive det? og i så fald, hvordan kan jeg kalde en metode i objektet, når det ligger i et array?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
09. november 2004 - 15:14
#1
Det ser da korrekt ud. Du kan kalde som ((Fag)opgaver.get(0)).dinMetode()
09. november 2004 - 15:17
#2
ja du kan godt skrive ovenstående, java 1.4.x: du kan ikke direkte tilgå en metode i din ArrayList du er nød til først at hive objectet ud: Fag f = (Fag) opgaver.get(index); f.metode(); java 1.5 (5.0): du kan bruge generics typer til at erklære en ArrayList udelukkende bestående af "Fag" såfremt den skal kunne det: ArrayList<Fag> opgaver = new ArrayList<Fag>(); herefter vil du kunne tilgå metoder direkte: opgaver.get(0).metode();
09. november 2004 - 15:18
#3
du kan self. også gøre som erik foreslår, dog synes jeg ikke det er særlig pænt, har man ret mange casts inde i casts bliver det hurtigt uoverskueligt, men igen det er en smagssag
09. november 2004 - 15:47
#4
Eriks syntax er ihvertfald brugt meget ...
09. november 2004 - 15:54
#5
arne_v: helt enig, og det er nok også det nemmeste i en så simpel løsning, men som du jo nok selv ved så mister man hurtigt overblikket hvis der er 20 paranteser inden i hinanden
09. november 2004 - 16:05
#6
Kan godt nok ikke få den til at virke. Er ret ny i java og oop. public getThis() { Fag f = (Fag) opgaver.get(1); return f.getNavn(); } Hvad er der galt her?
09. november 2004 - 16:07
#7
Der mangler retur type i metode erklæringen !
09. november 2004 - 16:07
#8
Måske: public String getThis() { Fag f = (Fag) opgaver.get(1); return f.getNavn(); }
09. november 2004 - 16:10
#9
Nåe ja...selfølgelig. Men når jeg kalder metoden får jeg fejlen: "NullPointerException: null" Og det er for linien: Fag f = (Fag) opgaver.get(1);
09. november 2004 - 16:12
#10
Er ophaver initialiseret ? ArrayList opgaver = new ArrayList();
09. november 2004 - 16:13
#11
Jeps i min constructor: public void Studerende(int cpr, String navn) { this.cpr = cpr; this.navn = navn; ArrayList opgaver = new ArrayList(); opgaver.add (new Fag("Dat",8,2)); opgaver.add (1,new Fag("EØ",3,0)); opgaver.add (2,new Fag("Org",4,0)); opgaver.add (3,new Fag("Sam",4,0)); }
09. november 2004 - 16:17
#12
public void Studerende(int cpr, String navn) { this.cpr = cpr; this.navn = navn; opgaver = new ArrayList(); // <----- rettet opgaver.add (new Fag("Dat",8,2)); opgaver.add (1,new Fag("EØ",3,0)); opgaver.add (2,new Fag("Org",4,0)); opgaver.add (3,new Fag("Sam",4,0)); }
09. november 2004 - 16:17
#13
Du laver en lokal variabel som "skygger" for instans variabelen
09. november 2004 - 16:20
#14
Det er jo kanont arne. Hvorfor skal man ikke definere at opgaver er af typen ArrayList?
09. november 2004 - 16:21
#15
Hmm okay. Men takker for hjælpen. Svar så der kan gives point. :)
09. november 2004 - 16:33
#16
svar (men Erik og Martin har vel også bidraget ...)
09. november 2004 - 16:39
#17
Jeps...de skal også svare.
09. november 2004 - 16:41
#18
svar
09. november 2004 - 16:42
#19
Arne får 20, og I 2 andre får hver 10. Hvis I da vil svare. :)
09. november 2004 - 16:51
#20
martin har svaret - erik vil sandsyneligvis ikke have point, men derfor er det jo pænt at spørge alligevel
09. november 2004 - 19:03
#21
Nej tak, ingen point til mig.
Kurser inden for grundlæggende programmering