我明白什么是包装类,它们的基本类型(例如:int,double等)到它们各自类的对象(例如:Integer,Double等)。但是,为什么我们需要包装类,为什么我们选择了它们各自类的对象。为什么我们需要包装类
回答
Java是一种面向对象的语言,可以将所有东西视为一个对象。一个简单的文件可以被当作一个对象,一个系统的地址可以被看作是一个对象,一个图像可以被看作是一个对象(带有java.awt.Image),一个简单的数据类型可以被转换成一个对象(包装类)。本教程讨论包装类。包装类用于将任何数据类型转换为对象。
原始数据类型不是对象;他们不属于任何阶级;它们是用语言本身来定义的。有时候,需要将数据类型转换为Java语言中的对象。例如,直到JDK1.4,数据结构只接受要存储的对象。数据类型将被转换为对象,然后添加到堆栈或向量等。对于此转换,设计人员引入了包装类。
什么是包装类?
顾名思义,一个包装类包装(包含)在数据类型周围并给它一个对象外观。无论何时,数据类型都是必需的,可以使用该对象。包装类包括解包对象并返回数据类型的方法。它可以与巧克力相比。制造商用巧克力箔或纸包裹巧克力以防止污染。使用者拿走巧克力,取出并抛出包装并吃掉。
请注意以下转换。
int k = 100;
Integer it1 = new Integer(k);
int数据类型k使用Integer类转换为对象it1。只要需要k对象,it1对象就可以在Java编程中使用。
以下代码可用于解包(从Integer对象获取int)对象it1。
int m = it1.intValue();
System.out.println(m*m); // prints 10000
intValue()是返回int数据类型的Integer类的方法。
包装类的重要性
主要有两个用途与包装类。
1)将简单数据类型转换为对象,即将对象形式转换为数据类型;这里使用构造函数。
2)要将字符串转换为数据类型(称为解析操作),此处使用parseXXX()类型的方法。
Java包装类的功能。
1)包装类将数字字符串转换为数字值。
2)将原始数据存储在对象中的方式。
3)的的valueOf()方法是可用的所有包装类除外字符
4)所有包装类具有typeValue()方法。该方法返回对象的值作为其基本类型。
除了上述Ashish的回答,还有包装类用于泛型/集合。我们不能创建原始数据类型列表 –
- 1. 为什么我们需要装饰器中的包装函数?
- 2. Java:为什么需要包装类?
- 3. 为什么JAX-WS需要包装类?
- 4. 装配需要什么?为什么我们使用它们?
- 5. 为什么我们需要蟒蛇包装(例如鸡蛋)?
- 6. 我们需要安装什么?
- 7. DavLockDB:我们需要什么?
- 8. 为什么我们需要simple_one_for_one?
- 9. 为什么我们需要TensorFlow tf.Graph?
- 10. 为什么我们需要使用prompt.start()?
- 11. 为什么我们需要scalaz.stream迭代?
- 12. 为什么我们需要WCF
- 13. 为什么我们需要Anaconda 2.7?
- 14. 为什么我们需要编写log.isDebugEnabled?
- 15. 为什么我们需要ng-click?
- 16. 为什么我们需要Control.Lens.Reified?
- 17. 我们为什么需要纤维
- 18. 为什么我们需要org.junit.ComparisonFailure?
- 19. 为什么我们需要addRequestHeader方法?
- 20. 为什么我们需要时代?
- 21. 为什么我们需要ContinueWith方法?
- 22. 为什么我们需要Java NIO Selector?
- 23. 为什么我们需要使用ExitWindowsEx
- 24. 为什么我们需要在JavaScript
- 25. 为什么我们需要设置SONAR_RUNNER_OPTS?
- 26. 为什么我们需要ioc容器
- 27. mongodb为什么我们需要getSisterDB
- 28. 为什么我们需要BeginGetResponse和BeginRead?
- 29. 为什么我们需要fieldset标签?
- 30. 为什么我们需要boost :: thread_specific_ptr?
为什么你需要一个包? –
@Sivakumar M如果我的答案有帮助,那么你可以upvote,然后选择我的答案 – Ashish
除了下面的答案由阿什什,包装类是有泛型/收集。我们无法创建原始数据类型列表 –