NullPointerException bei Klassenmethoden Aufruf

Status
Nicht offen für weitere Antworten.

Figapu

Neues Mitglied
Hallo,

ich habe ein array über personen,
Code:
private person[] personen;

das array wird initialisiert (mit size=100)
Code:
	private void initStack (int size)
	{
		
		this.professoren = new person[size];
		this.studenten   = new person[size];
		
	}

und beim verwenden
Code:
personen[0].setName("Bart");
person[1].setName("Lisa");
usw...
(Die setName() ist bisher einfach eine leere Funktion)

krieg ich eine NullPointerException:
Code:
Exception in thread "main" java.lang.NullPointerException
	at register.personenregister.loadDummyData(personenregister.java:45)
	...

Woran liegt das?
 
du musst alle objekte im array initialisieren:

Code:
for(person p : personen)
{
    p = new person();
}

Ach ja, und Klassen schreibt man üblicherweise groß 😉
 
Ariol hat gesagt.:
du musst alle objekte im array initialisieren:

Code:
for(person p : personen)
{
    p = new person();
}

Danke, hgat funktioniert 🙂

Ariol hat gesagt.:
Ach ja, und Klassen schreibt man üblicherweise groß 😉
Ich schreib Klassen normal groß, nur Testklassen die ich wieder lösche schreib ich klein, zur Übersicht. 😉
 
Figapu hat gesagt.:
Ariol hat gesagt.:
du musst alle objekte im array initialisieren:

Code:
for(person p : personen)
{
    p = new person();
}

Danke, hgat funktioniert 🙂
Das kann so gar nicht funktionieren. Du veränderst mit p = new person() keine Array-Elemente, sondern nur eine temporäre Variable p.

Ich hab das mal anhand eines Arrays von Strings getestet:

Code:
public static void main(String args[])
{
	String[] a = new String[10];
	for (String s: a)
	{
		s = "hallo";
	}
	System.out.println(a[0]);
}

Das Programm gibt "null" aus (und nicht etwa "hallo").
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben