• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Java Array Problem

wami

Oberösterreichischer Brünerling
Registriert
15.12.08
Beiträge
714
Hi,

ich habe ein Problem beim setzten der Grösse eines Arrays:

Ich habe eine Anwendung diese setzt mittels:

meinWarenkorb.setArray(3);

in der dazugehörigen Klasse:

public void setArray(int neuesArray) { array = neuesArray; }

die entsprechende Felderzahl auf die Variable array.

Bei der Erzeugung der Felder für die Inhalte habe ich die Anzahl mit der Variablen array gesetzt, die ja nun über das setter immer entsprechend angepasst werden sollte:

private Inhalt[] inhalte = new Inhalt[array];

die Deklaration sieht so aus: private int array;

Leider funktioniert mein Code nicht und ich habe keine Ahnung warum, ist ja eigentlich recht simpel. Wenn ich die Variable array in der Form " private int array = 4; " übergebe funktioniert es problemlos, nur die Übergabe mittels set haut nicht hin. Das macht mich irre

Hat jemand Hilfe parat?

Danke und Viele Grüsse

Michael
 

timbooo

Gala
Registriert
14.07.09
Beiträge
49
Du kannst die Größe eines Arrays aus primitiven Datentypen nicht zur Laufzeit verändern. Du könntest höchstens die Referenz verwenden um ein neues Array mit der neuen Größe zur erzeugen und dann alles rüberkopieren. Aber das geht auch eleganter, schau dir hierzu mal die Java Collections (z.B. http://www.torsten-horn.de/techdocs/java-collections.htm oder http://openbook.galileodesign.de/javainsel5/javainsel11_000.htm#Rxx747java11000040003701F043100) an, die sollten dein Problem lösen ;)

Gruß Tim
 
Zuletzt bearbeitet:

wami

Oberösterreichischer Brünerling
Registriert
15.12.08
Beiträge
714
Ah, wieder schlauer

Danke dir :verneig:

Viele Grüsse

Michael