我理解什么是包装类,它们是原始类型(例如:int,double等)到它们各自类的对象(例如:Integer,Double等)。
但是,为什么我们需要Wrapper类,为什么我们选择各自类的对象。
答案 0 :(得分:39)
Java是一种面向对象的语言,可以将所有内容都视为对象。可以将简单文件视为对象,将系统地址视为对象,将图像视为对象(使用java.awt.Image),并将简单数据类型转换为对象(与包装类)。本教程讨论包装类。包装类用于将任何数据类型转换为对象。
原始数据类型不是对象;他们不属于任何阶级;它们是用语言本身定义的。有时,需要将数据类型转换为Java语言中的对象。例如,在JDK1.4之前,数据结构只接受要存储的对象。数据类型将转换为对象,然后添加到堆栈或向量等。对于此转换,设计人员引入了包装类。
什么是包装类?
正如名称所示,包装类围绕数据类型包装(封闭)并为其提供对象外观。无论何处,数据类型都需要作为对象,可以使用此对象。包装类包括解包对象和返回数据类型的方法。它可以与巧克力进行比较。制造商用一些箔或纸包裹巧克力以防止污染。用户拿出巧克力,去掉并扔掉包装并吃掉它。
请注意以下转换。
int k = 100;
Integer it1 = new Integer(k);
将int数据类型k转换为对象,it1使用Integer类。 it1对象可以在Java编程中用于需要k的对象。
以下代码可用于解包(从Integer对象获取int)对象it1。
int m = it1.intValue();
System.out.println(m*m); // prints 10000
intValue()是Integer类的一种方法,它返回一个int数据类型。
包装类的重要性
包装类主要有两种用法。
1)将简单数据类型转换为对象,即将对象形式赋予数据类型;这里使用构造函数。
2)要将字符串转换为数据类型(称为解析操作),请使用类型为parseXXX()的方法。
Java包装器类的功能。
1)包装类将数字字符串转换为数字值。
2)在对象中存储原始数据的方法。
3) valueOf()方法在除Character
之外的所有包装器类中都可用4)所有包装类都有typeValue()方法。此方法返回对象的值作为其基本类型。