Dynamisches Feld generieren.

Status
Nicht offen für weitere Antworten.

Stephan

Mitglied
Ich habe eine kleine (und sicher auch einfach zu beantwortende) Frage:

Ich habe eine Klasse "TPerson", z.B. dieser Form:
Code:
public class TPerson {
    String Name;
    String Vorname;
    Byte Geschlecht;
    int Alter;          
}

Nun will ich im Haupt-Programm ein dynamisches Feld "Person[]" von der Klasse "TPerson" deklarieren, hab allerdings (bin in Java bitterster Anfänger) keinen Plan wie das geht.

Mit fester Array-Größe hab ich es schon:
Code:
TPerson Person[] = new TPerson[10];
 

Stephan

Mitglied
Da fällt mir gleich noch etwas ein:
Ein mir sehr mysteriöser Fehler tritt auf, wenn ich dann z.B. der Person[1] eine Eigenschaft definiere, also z.B.:

Code:
Person[1].Name = "Stephan";

Die Fehlermeldung ist dann:

java.lang.NullPointerException
at test.quadrat$1.run(quadrat.java:70)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)



Warum geht das so nicht? Ich muss doch wohl nicht für jede Zuweisung etc. Methodenschreiben - oder?
 

Stefan1200

Top Contributor
Kurz vorweg:
Variablennamen klein schreiben.

Nur weil du das Array vom Typ TPerson angelegt hast, hast du ja Person[1] noch kein Object vom Typ TPerson zugewiesen.

Es sollte gehen wenn du folgendes machst:
Code:
Person[1] = new TPerson();
Person[1].Name = "Stephan";

Habe das aber jetzt nicht getestet.
 

Stephan

Mitglied
@0xdeadbeef:
"ArrayList
Implementiert Listen-Funktionalität wie ein Vector. Sie erweitert dabei die Klasse AbstractList, sodass ArrayList natürlich auch die Schnittstelle List implementiert." - puhhh... *schwitz* - ich sagte ich bin blutiger Anfänger ^^ - ist es denn so schwierig? Hat evtl. jemand eine Antwort mit einem Beispiel, dass ich als Super-Dummi verstehen kann? Also jedenfalls hat mir das mit der Arrayliste erstmal nicht wirklich weitergeholfen ;)
(<- das liegt aber an MIR - weil ich so dof bin! - und nicht an der Antwort... denke ich - also vielen Dank erstmal :D )
 

Stephan

Mitglied
Vielen Dank @Stefan1200 - also das funzt erstmal. Ich gebe zu ich habe gedacht mit dem Code würde ich gleich einen Array von TPerson-Objekten anlegen. Und heißt das jetzt eigentlich dass ich jedem einzelnen Array-Index nochmal die Klasse TPerson zuweisen muss? Also geht es im Prinzip nicht kürzer als:

Code:
TPerson Person[] = new TPerson[10];
for (int i=1; i<10; i++)
{
  Person[i] = new TPerson();                
}

oder doch?
 

gizmo

Bekanntes Mitglied
Normalerweise schreibt man Attributnamen klein und greift nicht direkt auf Attribute zu, sondern über getter und setter.
Code:
public class TPerson {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
 

mic_checker

Top Contributor
Zum Thema ArrayList:

Code:
List al = new ArrayList();

TPerson tp = new TPerson(...);
al.add(tp);
//etc. pp.

Aber im Forum existieren schon zig Threads dazu, außerdem wurde oben ja auch ein passender Link gepostet.
 

HorstHuber

Mitglied
Ich erstelle Arrays immer so:

Code:
int[] feld = new int[10];
TPerson[] person = new TPerson[10]; 

TPerson[] person2;

Ist es denn wichtig, daß die Größe des Arrays variieren soll? Dann kannst Du doch immer eine neue Instanz erstellen.

Code:
person2 = new TPerson[4];
person2 = new TPerson[19];
 

mic_checker

Top Contributor
Nur wenn man dynamische Strukturen benutzen will greift man besser zu Listen. Der Umgang mit Listen in Java ist äußerst simpel, da man sich ja nicht um das umlegen irgendwelcher Referenzen etc. kümmern muss.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Unterschied: Polymorphie und Dynamisches Binden Allgemeine Java-Themen 8
kodela Dynamisches Array in einer Klasse Allgemeine Java-Themen 5
N Eclipse Dynamisches-Web-Project auf anderen Rechner transportieren Allgemeine Java-Themen 5
looparda Dynamisches Konsolenprogramm Allgemeine Java-Themen 3
T Dynamisches p:graphicimage im Datagrid Allgemeine Java-Themen 7
C Dynamisches und sortiertes Auslesen von Properties Allgemeine Java-Themen 2
P Dynamisches Binden Allgemeine Java-Themen 7
X Dynamisches hinzufügen von Panles Allgemeine Java-Themen 4
A Dynamisches Enum? Allgemeine Java-Themen 2
S dynamisches Array für Primfaktorzerlegung Allgemeine Java-Themen 13
S Dynamisches Manipulieren/Laden von Klassen Allgemeine Java-Themen 4
Z Dynamisches JPanel Allgemeine Java-Themen 10
hdi Dynamisches Instantiieren (Reflections) Allgemeine Java-Themen 4
H2SO3- dynamisches anlegen der dimensionaltität eines arrays Allgemeine Java-Themen 6
reibi Klassenpfad mal anders - dynamisches Laden einer Klasse Allgemeine Java-Themen 7
lumo "Exzessiv" dynamisches generieren Allgemeine Java-Themen 6
P dynamisches Array / Vector Allgemeine Java-Themen 2
R Dynamisches Laden von JNI-Bibliotheken Allgemeine Java-Themen 4
N Mehrdimensionales dynamisches Array Allgemeine Java-Themen 3
T Dynamisches laden von java Klassen Allgemeine Java-Themen 2
B Dynamisches Linken Allgemeine Java-Themen 15
M Dynamisches ausführen von methoden unbekannter klassen Allgemeine Java-Themen 6
V dynamisches laden von klassen Allgemeine Java-Themen 8
C Dynamisches Nachladen von JARs (Plugin) Allgemeine Java-Themen 3
S Dynamisches Casten Allgemeine Java-Themen 5
M Statisches und dynamisches Binden? Allgemeine Java-Themen 2
E Dynamisches Instanziieren Allgemeine Java-Themen 2
B dynamisches Laden aller Klassen in einem Ordner ?? Allgemeine Java-Themen 5
8u3631984 Strukturiertes Logging : Jedes Feld in eine seperate Zeile - aber wie ? Allgemeine Java-Themen 2
W Classpath Reflexion - Prüfen ob man auf ein Feld ändern kann Allgemeine Java-Themen 2
T JSoup findet input Feld nicht?! Wie kann ich das Feld finden? Allgemeine Java-Themen 3
X Punkte in einem Feld bestimmen Allgemeine Java-Themen 22
H Wie kann ich überprüfen ob das Feld noch frei ist? Allgemeine Java-Themen 5
M Erste Schritte empty checkbox Feld ausblenden Allgemeine Java-Themen 4
Z Java Exceptions - Auf leeres Feld prüfen Allgemeine Java-Themen 10
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
K 3Dimensionales Feld - NullPointerException Allgemeine Java-Themen 2
K Java Feld Duplikate löschen Allgemeine Java-Themen 5
R [Android]Wie dynamischen Button-Feld erstellen? Allgemeine Java-Themen 3
C Serialisierung - Standardwert für nachträglich hinzugefügtes Feld Allgemeine Java-Themen 2
G Feld Validierung in Swing Programm Allgemeine Java-Themen 6
reibi Eigene exception mit feld "serialVersionUID" Allgemeine Java-Themen 3
W statisches Feld in lokaler Klasse. Sinnlos! Allgemeine Java-Themen 4
G feld spiegeln bzw. 90° drehen Allgemeine Java-Themen 3
M Feld initialisieren, direkt oder Konstruktor Allgemeine Java-Themen 2
G JTextField: Feld für Ausgabe von Meldungen Allgemeine Java-Themen 14
LimDul Eindeutige ID (ala UUID) generieren als numerisch, maximal 16 Stellen Allgemeine Java-Themen 11
R Farbe zu einem Eckpunkt generieren Allgemeine Java-Themen 0
J Sudoku generieren Schwierigkeitsgrad Allgemeine Java-Themen 3
G Aus JTextField Zahlen auslesen und random generieren Allgemeine Java-Themen 10
D Mail aus GUI generieren Allgemeine Java-Themen 2
J Primzahlen generieren Allgemeine Java-Themen 6
M Serien- / Werksnummern generieren Allgemeine Java-Themen 7
K Java QUIZ-Spiel Fragen und Antworten generieren?! Allgemeine Java-Themen 5
N Zahl mit bestimmter Länge und nur bestimmten Zahlen generieren lassen Allgemeine Java-Themen 7
M Zufälligen String generieren und alle 5 Minuten ändern Allgemeine Java-Themen 2
T Geschwindigkeit beim Generieren erhöhen? Allgemeine Java-Themen 7
DStrohma Verschlüsselung: SALT aus Passwort generieren? Allgemeine Java-Themen 3
darekkay (JUnit) Testdaten generieren - Framework? Allgemeine Java-Themen 2
L Generieren Zufallsdaten aus CSV dateien Allgemeine Java-Themen 11
N String generieren Allgemeine Java-Themen 3
J Hash aus Verzeichniss generieren Allgemeine Java-Themen 2
Eldorado Barcodes mit statischer Breite generieren Allgemeine Java-Themen 3
M aus 3 BufferedImages 1 generieren Allgemeine Java-Themen 5
E Zufallszahl generieren Allgemeine Java-Themen 5
M Shapes mit abgerundeten Ecken generieren Allgemeine Java-Themen 2
T Zufallszahlen generieren und dabei eine Zahl weglassen Allgemeine Java-Themen 4
S Mittels eines Applets Bilder generieren die in einer Webseite angezeigt werden..? Allgemeine Java-Themen 8
MQue List<String> aus List<Object> generieren Allgemeine Java-Themen 2
V Einfache toString() generieren? Allgemeine Java-Themen 6
O .jar Files - Tools zum generieren Allgemeine Java-Themen 25
B PDF generieren. Problem mit PipedStreams. Allgemeine Java-Themen 4
G UML aus Commandline generieren Allgemeine Java-Themen 9
M nicht gleichverteilte Zufallszahlen generieren Allgemeine Java-Themen 6
B Mit Java Powerpoint Reporte und PDF generieren Allgemeine Java-Themen 9
B Schlüssel von Java automatisch generieren lassen. Allgemeine Java-Themen 4
T Einfachen Ton in Java generieren Allgemeine Java-Themen 4
B String generieren Allgemeine Java-Themen 4
S Datei aller möglich encodings generieren Allgemeine Java-Themen 2
G Char-zufällig-generieren Allgemeine Java-Themen 11
H RTF zu Word-Dokument generieren Allgemeine Java-Themen 5
B Namen eines Objekts generieren? Allgemeine Java-Themen 4
C Laufende Nummer generieren Allgemeine Java-Themen 4
N Transaktionsnummer (Tan) generieren? Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben