我覺得我對包裝類有一些想法。我的問題是什麼時候一個方法需要對象? 只有那麼我們需要使用包裝類吧?通常一個方法需要一些參數,如 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