Java和C的数据类型对照表

java的数据类型和C++的对应关系(大部分可用,小部分需要根据实际情况调整)

C++ Java
char * String
word short
byte byte
byte[] byte[]
dword int
long NativeLong
Void * Pointer
lpvoid Pointer
lpDword IntByReference
HWND HWND
char[] byte[]
byte * Pointer

Java和C的数据类型对照表

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

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...