Integer 和 int 的區別及 Integer類的方法
本文參考:
Integer 和 int 的區別
1、Integer是int提供的封裝類,而int是Java的基本資料型別;
2、Integer的預設值是null,而int的預設值是0;
3、生命為Integer的變數需要例項化,而宣告為int的變數不需要例項化;
4、Integer是物件,用一個引用指向這個物件,而int是基本型別,直接儲存數值;
5、Integer是一個類,是int的擴充套件,定義了很多的轉換方法,類似的還有float
Float; double Double;string String等,而且還提供了處理int型別是非常有用的其他一些常量和方法。舉個例子:當需要往ArrayList, HashMap中放東西時,像int,double這種內建型別是放不進去的,因為容器都是裝object的,這時就需要這些內建型別的外覆類了。
6、Integer和int都可以表示某一個數值,但不能夠互用,因為他們是兩種不同的資料型別。
舉例說明:
ArrayList al=new ArrayList();
int n=40;
Integer nI=new Integer(n);
al.add(n);//不可以
al.add(nI);//可以
並且泛型定義時也不支援int,如:List<Integer> list = new ArratList<Integer>();可以,而List<int> list = new ArrayList<int>();則不行。
Integer類的方法
構造方法摘要 |
|
Integer(int value) |
|
Integer(String s) |
方法摘要 |
|
static int |
bitCount(int i) |
byte |
byteValue() |
int |
compareTo 在數字上比較兩個 Integer 物件。 |
static Integer |
decode(String nm) |
double |
doubleValue() |
boolean |
equals(Object obj) |
float |
floatValue() |
static Integer |
getInteger(String nm) |
static Integer |
getInteger(String nm, int val) |
static Integer |
getInteger(String nm, Integer val) |
int |
hashCode() |
static int |
highestOneBit(int i) |
int |
intValue() |
long |
longValue() |
static int |
lowestOneBit(int i) |
static int |
numberOfLeadingZeros(int i) |
static int |
numberOfTrailingZeros(int i) |
static int |
parseInt(String s) |
static int |
parseInt(String s, int radix) |
static int |
reverse(int i) |
static int |
reverseBytes(int i) |
static int |
rotateLeft(int i, int distance) |
static int |
rotateRight(int i, int distance) |
short |
shortValue() |
static int |
signum(int i) |
static String |
toBinaryString(int i) |
static String |
toHexString(int i) |
static String |
toOctalString(int i) |
String |
toString() |
static String |
toString(int i) |
static String |
toString(int i, int radix) |
static Integer |
valueOf(int i) |
static Integer |
valueOf(String s) |
static Integer |
valueOf(String s, int radix) |