什么是包装类
在JAVA中,八大基础数据类型(int,float,double...
)是不具备对象的特征的,比如基本数据类型就不能调用方法,功能简单,为了让基本数据类型也具备对象的特征,就有了JAVA包装类。
我们知道基础数据类型是没有属性的,也是不能调用方法的。例如:
int i = 10;
i.toString();
使用这段代码就会出错。
但是我们在开发过程中肯定会遇到,将基本数据类型转换为String类型,或者其他数据类型,而这个时候如果我们要用基础数据类型实现这些转换就会非常麻烦,所以Java就有了基本数据类型的包装类,顾名思义,包装类就是:将基本数据类型包装成对象,使其具有了对象的属性和方法。 这样就可以使用方法和属性了。
而包装类的主要作用也就是:
- 将本类型与其他类型进行转换;
- 将字符串与本类型及包装类型相互转换。
怎么使用包装类
首先我们来看如何定义包装类:比如定义一个int类型的包装类
Integer i1 = new Integer(100);
Integer i2 = 100;
上面两种方式都可以定义整形类型的包装类。
我们可能会有疑问,数据变成了包装类,我之后要使用数据怎么办呢?
很简单,我们在将包装类转换成基本数据类型就可以了。
Integer i1 = new Integer(100);
int value = i1;//方法1
int value2 = i1.intValue();//方法2
经过上述步骤就可以将包装类转换成基本数据类型了。这两个例子分别展示了如何将int
类型转换成包装类,如何将包装类转换成int
类型。
我们一般将“基本数据类型转换成包装类”的过程叫做装箱,将“包装类转换成基本数据类型”的过程叫做拆箱。
装箱可以分为手动装箱和自动装箱:
int i = 10; //定义一个int基本类型值
Integer x = new Integer(i); //手动装箱
Integer y = i; //自动装箱
拆箱可以分为手动拆箱和自动拆箱:
Integer j = new Integer(8); //定义一个Integer包装类对象
int m = j.intValue(); //手动拆箱为int型
int n =j; // 自动拆箱为int型
这里所举的例子都是使用int
类型,其他数据类型和int
类型的包装类切换方式没有什么区别,所以关于其他数据类型我们只需要知道它们对应的包装类名是什么即可
如何将包装类转换成其他基本数据类型
例子:
Integer i = new Integer(100);
//转换成double类型
double d = i.doubleValue();
System.out.println("d的值:" + d);
//转换成float类型
float f = i.floatValue();
System.out.println("f的值" + f);
实现基本数据类型与字符串的相互转换
如何将基本数据类型转换为字符串
三种方法:
- 使用包装类的
toString()
方法; - 使用
String
类的valueOf()
方法; - 使用一个空字符串加上基本类型。
int c = 10;
String str1 = Integer.toString(c);
String str2 = String.valueOf(c);
String str3 = c + "";
如何将字符串转换成基本数据类型
两种方法:
- 调用包装类的
parseXXX()
方法; - 调用包装类的
valueOf()
方法转换为基本数据类型的包装类。
String str = "8";
int d = Integer.parseInt(str);
int e = Integer.valueOf(str);