int
和Integer
之間的區別是什麼。是的,一個是primitive
,另一個是wrapper
,正確使用它們的情況是什麼。int和Integer之間的區別
而且之間有什麼區別:
int i=0;
++i
and
i++
int
和Integer
之間的區別是什麼。是的,一個是primitive
,另一個是wrapper
,正確使用它們的情況是什麼。int和Integer之間的區別
而且之間有什麼區別:
int i=0;
++i
and
i++
部分1
一個例子..你可以使用Integer
爲HashMap
的關鍵,但你不能使用int。因爲需要Object
。
所以,你需要一個int
價值作爲一個對象,你需要使用Integer
類。
部2
++ i是預增量 i ++在是後增量
例如
i = 0;
System.out.println(i++) //will print 0 then the i will be 1.
和
i = 0;
System.out.println(++i) // here i wil be incremented first then print 1.
的Integer
是一個對象,而一個int
是一個原始的。所以你可以有一個空引用Integer
和Set
或List
他們。你不能這樣做,int
。
Integer
是int
的包裝類,它是一種原始數據類型。當int
不能滿足時使用Integer
。例如:在泛型中,泛型類,方法或變量的類型不能接受原始數據類型。在這種情況下,Integer
來救援。
List<int> list; //Doesn't compiles
List<Integer> list; // Compiles
而且Integer
自帶的靜態方法多如牛毛,像toBinaryString
,toHexString
,numberOfLeadingZeros
等,可將非常方便。
如上所述 Integer是一個對象,而int是一個基元。所以你可以對Integer和Set或者它們的列表有一個空引用。你不能這樣做int
我發現這個空引用非常有用,當我必須在數據庫中存儲int值。當我使用Integer時,我可以存儲空值。但是當我使用int時不能這樣做。
一個基本的解釋是一個int
是一種原始數據類型,並且實際上只是一個存儲在內存中的值。 Integer
是一個Java對象,它將int
包裝在一個類中,並且有許多很好的/有用的方法,可以調用該方法來處理內部隱藏的支持int
。這與大多數基本數據類型相同,例如boolean
和Boolean
,char
和Character
等。這被稱爲Boxing
原始。拆箱正好相反,拿一個對象並提取支持原型。
這裏的
String someString = "10";
Integer intObj = Integer.parseInt(someString);
System.out.println(intObj.toString());
你會發現,一些數據類型的比別人有更多有用的方法之一可以如何使用Integer
到String
轉換成int
(盒裝到Integer
)的一個例子。檢查你感興趣的每種類型的JavaDoc,這裏有很多好東西!
'++ i'是前綴增加器,它將'1'加1並返回新值。 'i ++'是後綴增量器,它返回'i'的值,然後給'i'加1。 – jonhopkins
查看http://stackoverflow.com/questions/16460879/java-prefix-postfix-issue/16461035 ++ i和i ++ – nakosspy
在兩個不同的問題中提出兩個不同的問題。並使標題具有描述性。 – Raedwald