我理解什么是包装器类,它们将原始类型(例如: int、double等)转换为各自类的对象(例如: Integer、Double等)。
但是,为什么我们需要包装器类,为什么我们选择它们各自类的对象。
发布于 2013-12-20 14:51:12
Java是一种面向对象的语言,可以将一切视为对象。简单的文件可以被视为对象,系统的地址可以被视为对象,图像可以被视为对象(使用java.awt.Image),简单的数据类型可以转换为对象(使用包装器类)。本教程讨论包装器类。包装器类用于将任何数据类型转换为对象。
原始数据类型不是对象;它们不属于任何类;它们是在语言本身中定义的。在Java语言中,有时需要将数据类型转换为对象。例如,在JDK1.4之前,数据结构只接受要存储的对象。数据类型要转换为对象,然后添加到Stack或Vector等。为了进行这种转换,设计者引入了包装器类。
什么是包装器类?
顾名思义,包装器类对数据类型进行包装(包围),并为其提供对象外观。在任何需要将数据类型作为对象的地方,都可以使用此对象。包装器类包括解开对象并返回数据类型的方法。它可以比作巧克力。制造商用锡纸或纸把巧克力包起来以防污染。用户拿起巧克力,取出并扔掉包装纸,然后吃掉它。
观察以下转换。
int k = 100;
Integer it1 = new Integer(k); 使用Integer类将int数据类型k转换为对象it1。在需要k作为对象的任何地方,都可以在Java编程中使用it1对象。
下面的代码可以用来解开(从Integer对象取回int )对象it1。
int m = it1.intValue();
System.out.println(m*m); // prints 10000 intValue()是Integer类的一个方法,它返回一个整型数据类型。
包装器类的重要性
包装器类主要有两种用途。
1)用于将简单数据类型转换为对象,也就是将对象形式转换为数据类型;这里使用的是构造函数。
2)将字符串转换为数据类型(称为解析操作),这里使用parseXXX()类型的方法。
包装器类的特性。
1)包装类将数字字符串转换为数值。
2)在对象中存储原始数据的方式。
3) valueOf()方法在除Character之外的所有包装类中都可用
4)所有的包装类都有typeValue()方法。此方法返回对象的值作为其基元类型。
https://stackoverflow.com/questions/20697868
复制相似问题