回答
Java's generics system只支持類類型。由於原語不是類,所以它們不能用於泛型。但是,基元的包裝類可以用作泛型類型。例如,您可能不會聲明ArrayList<int>
,但您可以使用ArrayList<Integer>
實現類似的功能。
這也是偶爾使用的一個變量的值初始化爲null
。但是,原始圖不能設置爲null
;該特權是爲對象保留的。
// This is OK
Integer iDontKnowValueYet = null;
// Compile error!
int iDontKnowThisYetEither = null;
你的整數通常包裝在包裝類,當你把它們放在一個數據結構。因此,.equals方法用於確定何時在數據結構上調用.contains方法。
其他usefule方法: 的toString toHexString parseString
事情如int,焦炭,雙都是原語意味着它們並不需要通過使用「新」被實例化。像Integer,Character,Double這樣的東西是在計算機上佔用更多空間的對象(因爲對象有更多的開銷),但是可以使用像Integer.parse()這樣的方法。一般來說,如果你需要其中的一種方法,使用原語並只使用對象版本。
要回答的東西有關== B對a.equals(B):
Integer a = new Integer(5);
Integer b = new Integer(5);
即使它們是相同的值(這是什麼.equals試驗),他們是不一樣的一塊內存,因爲你說「新」兩次。一個!= B,但a.equals(B)
Integer a = new Integer(5);
Integer b = a;
現在,他們使用同一塊內存,如果你改變一個意思,你改變他們兩個(除非你用「新」了)。 A == B和a.equals(B)
//using last code block
b = new Integer(5);
現在再一次!= B,但a.equals(二)==真因爲再次它們具有相同的價值,但它們是在不同的片記憶。
兩件事。首先,整數。解析也可以用於基元類型。實際上,Integer.parseInt返回int而不是Integer。其次,你不能像你所建議的那樣改變變量'a',因爲Integer是一個不可變的類。 –
@ axelrod360我看到等於可用於比較值與比較參考。 我猜Integer有parseInt定義在它裏面,所以可以從那裏調用它。 – Siddhartha
- 1. 灰燼isController V /秒isRoute V /秒isComponent
- 2. 語法「Foo(int v):val_(v){}」?
- 3. 例:: FIRST_DAY_OF_WEEK(int v)按
- 4. 整數NEQ Int(整數)Craziness
- 5. ExitAction V /秒退出功能
- 6. JBOSS V /秒的Apache Tomcat
- 7. vector <int> v(istream_iterator <int>(cin),istream_iterator <int>());
- 8. 希望將int整型爲int整型數學
- 9. Int與Swift中的整數
- 10. 整數驗證爲int
- 11. 整數(int)如何工作?
- 12. 隱祕int整型數組
- 13. 有沒有一個有用的居民'forall v。Int - > v - > IO v`?
- 14. long int v。long的可讀性
- 15. 什麼INT * V [10]和INT(* P)之間的差值[10]
- 16. 在c中生成隨機v型int數組#
- 17. 整秒附近的秒數似乎不正確地轉換
- 18. 獲取當前時間(秒)和整數
- 19. 從int無格式減去秒
- 20. 查找一對在整數的數組元素,使得ABS(V [I] -v [j]的)被最小化
- 21. Haskell將整數轉換爲Int?
- 22. Python的鑄造INT( 「串」,整數)
- 23. 無法打印整個int數組
- 24. 使用jaxb將整數轉換爲int
- 25. 爲什麼Java不autobox INT []爲整數[]
- 26. 整數與int類型,哪個更好?
- 27. 如何 - 將int分成兩個整數?
- 28. java - 無法將整數轉換爲int
- 29. int與整數之間的PHP差異
- 30. perl - int()遞減一個整數
+1甚至在泛型,集合,列表,集合和映射之前,僅存儲對象。 –
我明白了。但是,爲什麼Java設計者設計的泛型不能與基元和int一起工作,在初始化時不能設置爲null,他們肯定看到了使用Integer比int更有用的東西嗎? – Siddhartha
集合不接受原語的事實與泛型沒有任何關係。 –