基本数据类型
Java有8大基本数据类型,分别是
1、整型的byte、short、int、long
2、字符型的char
3、浮点型的float、double
4、布尔型的boolean
基本数据类型首字母均小写,存储的是值,基本数据类型在内存中存放的位置是栈。
包装类型
java中一切皆是对象,对应8个基本数据类型,有8个包装类,分别为Byte、Short、Integer、Long、Float、Double、Boolean和Character。既然是类就包括构造函数和封装了一些常用的方法,如:Integer.valueOf(String s)、Integer.parseInt(String s)提供给我们使用,非常方便。同时还可以利用池技术,减少对象个数的创建,如Integer常用的-128 to 127cache起来,使用是直接用即可。
使用包装类时必须对类进行实例化,创建的是对象类型,存放在堆中。
如:Integer i= new Integer(456),就是创建一个值为456的Integer对象 ;
也可以写成Integer i=456,这种写法是使用自动装箱技术简化书写方式,和Integer i= new Integer(456)是等效的;但和int i=456是两回事 int i是基本数据类型。
使用场景
使用了自动装拆箱后二者应用上没有太大区别,基本类型在栈,读取速度要比包装类型要快一点。
- 在编码过程中只接收对象的情况,如泛型的使用,只能处理对象,而不能处理基本数据类型。如:List中只存入对象,不能存入基本数据类型。
- 能够方便利用包装类提供的方法完成一些操作;如:Integer.toBinaryString(int i)