Java使用基本类型以及对象来表示数据,但是在某种情况下,我们必须使用对象来表示我们所需要使用的数据,正如上一篇HashMap简介一样,我们需要将基本类型int,转换乘包装类Integer,这样才能将数据存储进HashMap。
包装(wrapper)类表示一种特殊的基本类型。例如:Integer类表示一个整型量。由Integer类创建的对象只保存一个int型的值。
包装类的构造方法Integer obj = new Integer(40);
如上所示,obj对象就将40这个整型当作一个对象而非普通的基本类型。它可以被用于需要对象的地方,如:HashMap。
基本数据类型 | 包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
void | Void |
可以看出,一般包装类与基本数据类型相差不大,首字母须大写,唯有Integer与Character需要特别记一下。
注意到:对应于void类型的包装类时Void。但和其它包装类不一样的是,Void类型不能被实例化,它只表示void引用的概念。
方法包装类中还提供几个方法,下面以Integer类距离,其它包装类由相似的用法:
Integer(int value) //构造方法,创建新的Integer对象,用来保存value的值
static int parseInt(String str) //按int类型返回存储在制定字符串str中的值
static String toBinaryString(int num)
static String toHexString(int num)
static String toOctalString(int num)
//将制定的整型值在对应的进制下按字符串形式返回
Java包装类中常常含有常量,这非常有用。如:Integer类由两个常量MIN_VALUE、MAX_VALUE
自动装箱Java会自动将基本数据类型转换乘对应的包装类(如果你将基本数据类型的值赋给包装类对象的话):
Integer obj;
int num = 40;
obj = num; //自动创建Integer对象
这样,obj就创建了一个40的对象。
同样地,有自动装箱也有拆箱功能,也可以自动完成:
Integer obj = new Integer(40);
int num;
num = obj; //自动解析出int类型
这样,就完成了包装类与基本数据类型之间的无缝转换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)