Array#push_back
-
hi,
ich muss eine C++-Funktion unter Java nachbauen. Die Methode nutzt die Funktion push_back eines Arrays. Wie baut man das in Java nach? Ich kann die Werte leider nicht mitarray1[1]=array2[1];
nachbauen, weil ich keinen Einfluss uaf die Länge des ersten Arrays habe, sondern nur eine get-Methode, die ihn zurückgibt.
ich bedanke mich schonmal im Vorraus für Hilfe,
Kampino
-
Warum willst du das nachbauen? Das gibt es doch schon. java.util.Vector
-
nein, nein, ich nutze eine übers JNI eingebundenen Bibliotheke, in einem C++-Beispiel zu dieser wird folgender Code verwendet:
for(int i=0;i<12;i++)mb->Vertices.push_back(vtx[i]);
Dieses Beispiel will/muss ich jetzt in Java nachbauen, wie soll ich diesen Code umsetzen?
-
Hallo,
warum machste das nicht soß
type[] tmp = getArray(); type[] array2 = new type[tmp.length]; for(int i = 0; i < tmp.length; ++i) { array2[i] = tmp[i]; }
Im Gegensatz zu C++ kennen Arrays in Java deren Größe.
Hoffe dass das so funktioniert, hab's nicht getestet und programmier auch noch nicht lange bzw. noch nicht viel in Java.
Edit: Alternativ zur for-Schleife kannste auch System.arraycopy nehmen. http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#arraycopy(java.lang.Object, int, java.lang.Object, int, int)
-
Das Problem ist, dass ich nicht weiß wie ich den neuen array (array2) dann dem alten zuordnen soll. Die Klasse hat keine setter-Methode für den Array.
-
Um ehrlich zu sein, ich versteh dein Problem überhaupt nicht.
-
Kampino schrieb:
Das Problem ist, dass ich nicht weiß wie ich den neuen array (array2) dann dem alten zuordnen soll. Die Klasse hat keine setter-Methode für den Array.
Zeig doch mal die Schnittstellen, die auf Java und C++ Seite hast.