Das Äquivalent zu Java Arrays stellt in JNI die Unterklasse jarray dar. Ebenso wie bei jstring kann auf dieses Objekt nicht direkt zugegriffen werden. Es werden durch das JNI Funktionen zur Verfügung gestellt, welche den Zugriff auf die Elemente des Arrays ermöglichen. Die Funktionen sind in Tabelle 6.4 aufgeführt.
Funktionsbezeichner | Wirkungsweise |
Get/Set<Datentyp>ArrayElements | Zugriff auf das Java Array. Es ist zu beachten, daß dieses Array nicht verschiebbar realisiert ist (``Normale'' Array werden bei garbage collection durch die JVM unter Umständen verschoben), so daß der Zugriff während des gesamten Lebenszyklusses gewährleistet ist. |
Get/Set<Datentyp>ArrayRegion | Da die ``normalen'' Get/Set Funktionen
generell das gesamte Array kopieren, kann es notwendig sein, die Größe des Arrays zu
begrenzen. Die kann durch Reduzierung der Elementanzahl erreicht werden. |
Release<Datentyp>ArrayElements | Wie bei den Get/Set Funktionen
angedeutet, werden die Arrays nicht verschiebbar realisiert. Daher müssen sie nach
Verwendung wieder explizit freigegeben werden. |
[Array-Funktionen es Java Native Interface] Array-Funktionen es Java Native Interface
Es sei noch erwähnt, daß Felder aus primitiven Datentypen wie in Tabelle 6.2 dargestellt, aber auch aus Objekten aufgebaut sein können.