Next: Reference types, Previous: Packages, Up: About CNI [Contents][Index]
Java provides 8 primitives types which represent integers, floats, characters and booleans (and also the void type). C++ has its own very similar concrete types. Such types in C++ however are not always implemented in the same way (an int might be 16, 32 or 64 bits for example) so CNI provides a special C++ type for each primitive Java type:
Java type | C/C++ typename | Description |
char | jchar | 16 bit Unicode character |
boolean | jboolean | logical (true or false) values |
byte | jbyte | 8-bit signed integer |
short | jshort | 16 bit signed integer |
int | jint | 32 bit signed integer |
long | jlong | 64 bit signed integer |
float | jfloat | 32 bit IEEE floating point number |
double | jdouble | 64 bit IEEE floating point number |
void | void | no value |
When referring to a Java type You should always use these C++ typenames (e.g.: jint
)
to avoid disappointment.
In Java each primitive type has an associated reference type,
e.g.: boolean
has an associated java.lang.Boolean.TYPE
class.
In order to make working with such classes easier GCJ provides the macro
JvPrimClass
:
Return a pointer to the Class
object corresponding to the type supplied.
JvPrimClass(void) ⇒ java.lang.Void.TYPE