2010-05-08 52 views
-3

請向我解釋一下....描述原始類型數據的類版本

解釋爲什麼java有原型數據類的類versios?描述原始java類型的類版本並擴展優點和缺點? expalin爲什麼原始java類型的類版本可用,但爲什麼原始類型仍然經常使用? expalin如何將原始和非原始數據類型作爲參數傳遞給java中的方法,以及如何影響更改傳遞的數據值?

primitve數據類型爲:int,float,char,long,short,byte,boolean和double。

+1

這與JavaScript有什麼關係? – Syntactic 2010-05-08 14:54:28

+0

錯誤,Java和Javascript?這些東西與彼此無關。 – extraneon 2010-05-08 14:56:07

+0

Retagged -javascript – 2010-05-08 14:56:49

回答

2

對於每個Java原始有一個相應的對象:

  • byte =>java.lang.Byte
  • short =>java.lang.Short
  • int =>java.lang.Integer
  • long =>java.lang.Long
  • float = >java.lang.Float
  • double =>java.lang.Double
  • char =>java.lang.Character
  • boolean =>java.lang.Boolean

這個問題要求你證明這些Java Wrapper Classes的存在和 - 已經這樣做了 - 也證明存在的原始類型。你什麼時候使用基本類型,什麼時候使用Wrapper Classes?

0

以下是一些基本要點。這是不是一個全面的列表,只是一些想法,讓你開始。在我談論整數的地方,同樣的推理適用於:double/Double,char/Character,& c。

  • 不只這樣的原因是簡單的傳統。 Java在很多方面都被設計成與C/C++類似;這些語言與它們的數字表示具有相似的基元。
  • 原始物int比物體Integer更輕—,即更小—。 Integer必須包含與原語相同的關於數值的信息;實際上,它將該號碼存儲在私人的int變量中!而且它還需要支持許多原語不需要處理的方法。
  • 原語int比對象Integer更快。這與最後一點有關;創建一個Integer對象比創建一個原始的int更爲複雜。
  • 有些情況下,您不允許使用原語。如果你想要用數字填充一個鏈表,並且你決定使用一個Java內置的LinkedList,它希望你把列表放在對象之外。

您可能會從閱讀「自動裝箱」,「傳遞Java中的值」和「Java中的垃圾回收」中受益,這裏僅列舉幾個主題。這裏有一個鏈接可以幫助你開始:the Java Language Specification section on primitives,隨後的參考類型—即對象。