一.基本数据类型及对应包装类
Java提供了八种基本数据类型:byte、short、int、long、float、double、boolean、char,每种基本类型都有其对应的类,如下表
基本数据类型 | 对应包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
可以看到两者命名的区别:基本数据类型首字母都是小写,而对应的包装类首字母都是大写(Java命名习惯,类名首字母需要大写),并且采用全称(缩写int变成了全称Integer)。
以上8种类都是immutable的,和String类一样,意味着实例一旦创建完成后,就不能改变其成员变量值。
二.包装类与基本数据类型的区别呢?
首先,包装类是对象,而基本数据类型不是。所以包装类的引用存放在stack中,实例存放在heap中;而基本数据类型直接存放在stack中。
其次,包装类需要先初始化再赋值,而基本数据类型可以直接赋值。
Integer n1 = new Integer(1145);//需要先用new初始化
int n2 = 1145;//可以直接赋值
三.使用包装类的好处
首先,包装类提供了一些常用方法。例如,要使用int的最大值,可以直接使用Integer.MAX_VALUE方法;
其次,有些类型,如集合类型,要求容器的数据类型必须是Object,所以无法直接使用int或者double等,我们可以直接使用Integer、Double等代替。
四.包装类与基本数据类型的转换
Integer n1 = new Integer(4396);//基本数据类型转换为包装类
Integer n2 = (4396);//第二种转换方法
int n3 = ();//包装类转换为基本数据类型