Int与Integer的区别
基本数据类型与包装类型
java提供了 基本数据类型 八种:boolean、char、byte、short、int、long、float、double
也提供了相应的包装类型:包装类型:Boolean、Character、Byte、Short、Integer、Long、Float、Double
那为什么有了基本数据类型类型还需要包装类型:
1.由于java是面向对象语言的,基本类型不是类,不能通过new进行对象实例化,可以说是不是面向对象的思想,无法调用方法。
2.为了让基本数据类型符合面向对象的思想,就出现了包装雷翔,将基本类型包装起来,并且封装了属性和方法,形成了类。便于对对象进行操作。
基本类型与包装类型比较
1.基本类型无法通过new,进行实例化,。而包装类型可以通过new进行实例化
2.包装类型的初始值为null,基本数据类初始值不为null,如int为0
3.包装类型将对象放在堆中,然后通过引用来使用;,基本数据类型一般将变量值存储在栈中。
另外需要注意的是,Java的基本数据类型性不都是存储在栈中。
为了反驳观点" Java的基本数据类型都是存储在栈的 ",我们也可以随便举出一个反例,例如:
int[] array=new int[]{1,2};
由于new了一个对象,所以new int[]{1,2}这个对象时存储在堆中的,也就是说1,2这两个基本数据类型是存储在堆中,