为什么我们需要包装类

时间:2013-12-20 06:45:22

标签: java

我理解什么是包装类,它们是原始类型(例如:int,double等)到它们各自类的对象(例如:Integer,Double等)。

但是,为什么我们需要Wrapper类,为什么我们选择各自类的对象。

1 个答案:

答案 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()方法。此方法返回对象的值作为其基本类型。