在java中基本的数据类型有九种分别是boolean,char,int,float,byte,short,long,double,void.
相对应的封装类有Boolean,Character,Integer,Float,Byte,Short,Long,Double,Void.
两者的区别在于基本的数据类型是从系统"堆栈"中取得内存空间,而封装的数据类型则是从"堆"区分配得到内存空间,这样做的目的是为了使程序更加高效快速。而封装类的出现,是为了更方便的提供一些方法,toString方法,valueOf方法,compareTo方法 getClass方法等等,基本的数据类型是不带任何方法的。
其基本数据类型的大小
boolean ----
char 16-bit
byte 8-bits
short 16bits
int 32bits
long 64bits
float 32bits
double 64bits
void ---
(8个bit即为一个字节也就是byte)
boolean 存储空间没有明确确定,也就只有 true 和 false
在java1.5之后引入了自动装箱/拆箱的功能
使得我们可以直接Integer i =1 ;
会自动的将基本类型装箱为该类型的包装类型
当然也可以int i2 =i 反向转换
封装类型的引用传递
封装的数据类型在传递的时候 并非是值传递,而是引用传递
Integer t=new Integer(2);
表示当Integer类型引用一块儿内存,这块儿内存的数据是2,而需要给别的对象的时候,则把这个引用(地址)给别人了
另外void属不属于第九类基本数据类型的解答:(转自网上)http://blog.csdn.net/dajian35/article/details/50964039
众所周知,Java的类型分成两种,一种是基本类型,一种是引用类型。两种的本质区别就是:基本类型是在堆栈处分配空间存“值”。但是引用类型,是在堆里面分配空间存“值”。Void是不能new出来,也就是不能在堆里面分配空间存对应的值。那就是一开始在堆栈处分配好空间了。所以,有些人将Void归成基本类型,也有道理。