我觉得我对包装类有一些想法。我的问题是什么时候一个方法需要对象? 只有那么我们需要使用包装类吧?通常一个方法需要一些参数,如 int add(int a); 这是“int a”原始值吗? 例如PLS包装类的怀疑
Q
包装类的怀疑
0
A
回答
3
的Java primitive types是int
,double
,byte
,boolean
,char
,short
,long
,和float
。
如果一个函数签名想要int
,那么你传递它一个原语。例如,如果它想要Integer
,它需要包装类Integer
。在Java 1.5中,自动装箱可以生效并自动将原语包装到其包装类型中。取消装箱也可以发生,在这种情况下,包装类被转换为其基本等价物,以用于期望基元的方法。
class Example
{
public static void usePrimitiveInt(int i) { }
public static void useIntegerClass(Integer i) { }
public static void main(String [] args)
{
int i = 5;
Integer iObj = 10;
Example.usePrimitiveInt(i); // use primitive
Example.useIntegerClass(i); // autobox int to Integer
Example.usePrimitiveInt(iObj); // unbox iObj into primitive
}
}
0
你说你理解包装类。那么应该没有什么可以解释的。该方法需要一个包装类,当方法签名说明它。如果参数类型为Integer
,则该方法需要包装类。如果int
,它期望原始值。
0
请记住,包装模式的另一个名称是adapter模式。
其中一个,我们在Java看到包装图案的第一示例是原始包装类:
- java.lang.Integer中包装INT
- java.lang.Character中包装炭
- 的java。 lang.Long包裹长
- 等
,当你需要的对象图元的表示,例如,当您需要将它们存储在科尔这些包装是有用的挠度。
当你需要规范不同类的通用接口时,包装器会很有用,特别是那些你不能改变的接口,因为它们可能是第三方库的一部分。
例如,假设您需要处理将要参加活动的人员列表,但是您可能拥有多个信息来源以及他们自己对某人的表示。
- 您的处理方法接受一个
Attendee
对象的列表。 - 第一源给你
Employee
对象
2.1EmployeeWrapper
包含Employee
对象和实现或扩展Attendee
- 第二源给你的客户对象的列表
3的列表。1CustomerWrapper
包含Customer
对象和实现或扩展Attendee
- 第三清单给你
VendorContact
对象的列表
4.1VendorWrapper
包含VendorContact
对象和实现或扩展Attendee
您现在有一个标准化表示不同类型的Attendee
对象。
相关问题
- 1. 怀疑
- 2. 怀疑
- 3. AspectJ的 - 怀疑
- 4. 概率怀疑
- 5. Java override怀疑
- 6. Bootstrap Grids怀疑
- 7. jQuery $ .post()怀疑!
- 8. 的UITableView didselectRowAtIndex怀疑
- 9. Python语法怀疑
- 10. getdate.y语法怀疑
- 11. ASM内联怀疑
- 12. Netbeans怀疑编译
- 13. 怀疑组数据
- 14. Java线程怀疑
- 15. 怀疑在foreach -php
- 16. 轨道路由破产 - 怀疑routes.rb怀疑
- 17. Backbone.js的事件怀疑
- 18. Facebook的边界怀疑
- 19. SDL对渲染的怀疑
- 20. 怀疑的Python为周期
- 21. 对Yii2 RBAC的怀疑
- 22. 怀疑具有int变量
- 23. 怀疑有关Visual Studio
- 24. 猫鼬findOne范围怀疑
- 25. JPA怀疑映射@ManyToMany
- 26. 怀疑在文件路径
- 27. 怀疑:TimeOut错误Jenkins
- 28. Javascript Prototypal Inheritance怀疑二
- 29. SQL/SAS编码怀疑
- 30. 亚马逊设计怀疑
[Object or primitive type]的可能重复(http://stackoverflow.com/questions/2879916/object-or-primitive-type) – 2010-10-22 06:22:38