Java 类型
C 类型
原生表现
boolean
int
32位整数 (可定制)
byte
char
8位整数
wchar_t
平台依赖
short
16位整数
32位整数
long
long long, __int64
64位整数
float
32位浮点数
double
64位浮点数
Buffer/Pointer
pointer
平台依赖(32或 64位指针)
<T>[] (基本类型的数组)
pointer/array
32或 64位指针(参数/返回值)
邻接内存(结构体成员)
String
char*
/0结束的数组 (native encoding or jna.encoding)
WString
wchar_t*
/0结束的数组(unicode)
String[]
char**
/0结束的数组的数组
WString[]
wchar_t**
/0结束的宽字符数组的数组
Structure
struct*/struct
指向结构体的指针 (参数或返回值) (或者明确指定是结构体指针)结构体(结构体的成员) (或者明确指定是结构体)
Union
union
等同于结构体
Structure[]
struct[]
结构体的数组,邻接内存
Callback
<T> (*fp)()
Java函数指针或原生函数指针
NativeMapped
varies
依赖于定义
NativeLong
平台依赖(32或64位整数)
PointerType
和 Pointer相同