基本类型一般都在创建在堆栈中(位于通用RAM随机访问存储器),通过堆栈指针移动来分配与释放内存。创建程序时,java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。而java对象并不存储于堆栈中。
基本类型具有的包装器类,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型。堆是一种通用的内存池(也位于RAM区),用于存放所有的java对象。堆中的存储的数据在堆里存活多长时间,编译器并不知道。当需要一个对象时,只需用new写一行简单的代码,当执行这行代码时,会自动在堆里进行存储分配。
基本类型的包装器类型分别是:
boolean → Boolean
char → Character
byte → Byte
short → Short
int → Integer
long → Long
float → Float
double → Double
void → Void
char c = 'x';
Character ch = new Character(c);
也可以这样用:
Character ch = new Character('x');
java se5的自动包装功能将自动地将基本类型转换为包装器类型:
Character ch = 'x';
并可以反向转换:
char c =ch;