1、包装类Wrapper Class基本概念
8中基本数据类型存在的不足:
- 1、8种基本数据类型不支持面向对象编程机制,无法定义属性和方法;
- 2、8中基本数据类型不是引用类型,因而不能被Object类型的对象接收。
为了解决这个问题,Java提供了包装类的概念。Java定义了8个引用类型,和8个基本数据类型对应:
Number类下有6个派生类:
-
Integer类——int型
-
Byte类——byte型
-
Short类——short型
-
Long类——long型
-
Float类——float型
-
Double类——double型
Boolean类——boolean型
Character类——char型
Number类的6个方法
byte byteValue();
abstract double doubleValue();
abstract float floatValue();
abstract int intValue();
abstract long longValue();
short shortValue();
2、包装类的使用
【方式一:手动装箱与拆箱】
public class Test {
public static void main(String[] args) {
Integer obj = new Integer(2); //装箱
int num = obj.intValue(); //拆箱
System.out.println(num);
}
}
【方式二:自动装箱和拆箱】
public class Test {
public static void main(String[] args) {
Integer obj = 2; //自动装箱
int num = obj * 2; //自动拆箱
obj++;
System.out.println(num);
System.out.println(obj);
}
}
3、使用包装类需要注意的
- 包装类的对象可以直接参与数学运算
- Object的对象不能参与数学运算,只能向下转型成为包装类的实例之后才能参与数学运算
- 包装类相等判断,可以使用Object类的equals()方法,否则会有引用传递的问题