Klasser

Tags:    java c#

Hej Drenge.

Der er noget her jeg ikke helt forstår, så håber nogle kan forklare mig det. Når jeg i Java eller C# ligger noget ind i en arrayliste i f.eks en klasse kaldet klasse1.

Og siger

Klasse2
Klasse1 k1 = new Klasse1();
k1.addtoArray(something);

Klasse3
Klasse1 k1 = new Klasse1();
ArrayList bla = new ArrayList();
bla = k1.returnArray();

Så får jeg en null pointer exception, fordi at ArrayListen i Klasse1 er lig null eller ingenting. Jeg mistænker at det er fordi jeg tilgår Klasse1 to gange og overskriver indholdet af arraylisten med null på.

Men hvordan kan man ellers gøre det. Hvis jeg ville tilføje og hente noget fra Klasse1.

Hvor jeg tilføjer fra en klasse. Og henter til en anden klasse / form?

Håber det giver mening.
Mvh



4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Jeg forstår ikke helt din måde at arbejde på, med mindre der er tale om at Klasse1 indeholder mere kode end blot dit array.

Husker du at initialisere dit array i din konstruktør/addToArray? Det ville være nemmere at finde fejlen med en omgang kode, men umiddelbart tror jeg du glemmer at "lave" dit array.



Hvordan er Klasse1 implementeret ?
Din constructor skal initialisere en ArrayList og det har du måske glemt...svært at se uden kode.



Det ville være nemmere at finde fejlen med en omgang kode


svært at se uden kode.


Hvor jeg opbevarer mine arrays
Fold kodeboks ind/udJava kode 


Tilføj til array
#NewUserForm
Fold kodeboks ind/udJava kode 


#Logic class
Fold kodeboks ind/udJava kode 


#User class (constructor)
Fold kodeboks ind/udJava kode 


Her bliver der helt fint lavet et object af User og lagt i ArrayListen i ArrayManagement klassen.

Hentning af ArrayList (det er her det går galt)
Hent Fra ArrayList
#MainForm
Fold kodeboks ind/udJava kode 


Går det galt fordi jeg i Logic på linje 3 og i MainForm linje 2 sider
ArrayManagement AM = new ArrayManagement();
begge steder?



Indlæg senest redigeret d. 09.04.2012 17:30 af Bruger #16700
Store dele af din kode gør jo intet.
F.eks.:
Fold kodeboks ind/udKode 


Resultatet af ovenstående er...intet!

'user' variablen i ArrayManagement klassen bliver ikke brugt.

Fold kodeboks ind/udKode 


Hvilken fejl får du ? Copy/Paste.



Indlæg senest redigeret d. 09.04.2012 17:51 af Bruger #2695
t