5. Übersicht verwendeter Datentypen und Funktionen

zurück zurück weiter weiter
 

5.1 Java Datentypen

Durch die Anforderung an Java Plattformunabhängig zu sein, sind alle primitiven Datentypen genau in der Sprachspezifikation festgelegt. So hat ein int auf allen Plattformen, auf den eine JVM zu Verfügung steht die gleiche Anzahl an Bits. Eine Übersicht der promitiven Datentypen ist in der folgenden Tabelle dargestellt.

Bezeichnung Beschreibung
byte 8-Bit
short 16-Bit
int 32-Bit
long 64-Bit
float 32-Bit, IEEE 754 Gleitkommazahl
double 64-Bit, IEEE 754 Gleitkommazahl
char 16-Bit, Unicode
boolean  
void  

 

5.2 JNI Datentypen

Da JNI Code Plattformabhängig ist, müssen Datentypen geschaffen werden die den primitiven Java Datentypen entsprechen. JNI definiert für jeden Java Datentyp einen entsprechenden JNI Datentyp. Die folgende Tabelle zeigt das mapping von Java Datentypen zu JNI Datentypen.


Java Datentyp JNI Datentyp
byte jbyte
short jshort
int jint
long jlong
float jfloat
double jdouble
char jchar
boolean jboolean
Object jobject
void void

Die genauen Definitionen der JNI Datentypen sind in der jni.h und in der jni_md.h zu finden. Diese befinden sich im include Verzeichnis und im include/win32 Verzeichnis des JDK.Die jni.h enthält dei allgemeinen Typdefinitionen. Die jni_md.h dagegen die Plattformabhängigen Typdefinitionen.

Typen aus der jni_md.h:

	typedef long jint;
	typedef __int64 jlong;
	typedef signed char jbyte;
	

 

5.3 Funktionen

Ein Teil der bisher verwendeten Funktionen sind Datentypspezifisch. Sie enthaten in ihrem Namen eine Datentypbezeichnung, wodurch dies kenntlich gemacht wird. Es sind einmal Funktionen zum Zugriff auf Variablen, und zum anderen Funktionen zum Aufruf von Methoden.

Funktionen zum Zugriff auf Variablen:

	Get<type>Field
	Set<type>Field
GetStatic<type>Field SetStatic<type>Field
Funktionen zur Manipulation von Variablen sind für die in der folgenden Tabelle aufgelisteten Typen verfügbar.

JNI Datentyp Funktionstyp
jbyte Byte
jshort Short
jint Int
jlong Long
jfloat Float
jdouble Double
jchar Char
jboolean Boolean
jobject Object

Funktionen zum Zugriff auf Methoden:
	Call<type>Method
CallStatic<type>Method
Die Tabelle für Datentypen der Funktionen zum Zugriff auf Methoden ist fast identisch mit der der Methodentypen. Zusätzlich zu den Typen kommt noch der Datentyp void hinzu.

 
zurück zurück weiter weiter
© 2001, Michael Bromm Version 1.0