包装类(wrapper)
首先知道基本数据类型 :byte、short、int、long、float、double、char、boolean 。
这些基本数据类型也称java的内置数据,一共六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
基本数据类型是不具备对象的特性的,没有属性方法不能被调用方法且功能简单,而我们为了让基本数据类型也具备对象的特性,在使用时可以更加方便的操作数据类型之间的转换,Java 为每个基本数据类型都提供了一个包装类,并提供了一些的方法,让基本数据类型具有了面向对象的特征,这样就可以像操作对象那样来操作基本数据类型。
基本类型和包装类之间的对应关系:
基本类型 | 对应的包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
包装类主要提供了2类方法:
- 将本类型和其他基本类型进行转换的方法
- 将字符串和本类型及包装类互相转换的方法
例如Integer包装类的常用方法:
返回值 | 方法名 | 注解 |
---|---|---|
byte | byteValue() | 转化为byte类型 |
int | intValue() | 转化为int类型 |
long | longValue() | 转化为long类型 |
float | floatValue() | 转化为float类型 |
double | doubleValue() | 转化为double类型 |
static int | parseInt() | 把该字符串转化为int类型 |
String | toString() | 转化为字符串类型 |
static Integer | valueOf(String s) | 把该字符串转化为Integer类型 |
//例如:
// 定义int类型变量,值为12
int a = 12;
// 创建Integer包装类对象,表示a的值
Integer ai = new Integer(a);
// 将Integer包装类对象ai转换为float类型
float af = ai.floatValue(a);
// 将Integer包装类对象ai转换为double类型
double ad = ai.doubleValue(a);
注意:
当试图使用一个字符串来创建Byte ,Short ,Integer,Long,Float,和Double等包装类对象时,如果传入的字符串不能成功转换成对应基本类型变量,在代码编译时没有问题,但运行时则会引发java.lang.NumberFormatException异常。
Long al = new Long("ddd");
如果试图使用一个字符串来创建Boolean对象时,如果传入的字符串是“true”,或此字符串不同字母的大小写变化形式,如"True",都将创建true对应的Boolean对象;如果传入其他字符串,则会创建false对应的Boolean对象。