定義一個int變量,和Integer變量 int i; Integer j; 使用時有什麼不一樣,什麼狀況下使用Integer型變量
Integer i=0; i是一個對象 int i=3; i是一個基礎變量 Integer i=0; 這種寫法若是沒記錯,在JAVA1.5以前是會報錯的,自動的加解包是1.5的新特性 必須寫成 Integer i= new Integer(0); i.intValue()才能提取i的值 使用場合,例如說 往ArrayList裏面add,必須add的是Object 而int不是對象,就只能把Integer添加進去
int 是基本數據類型 Integer是其包裝類,注意是一個類。 爲何要提供包裝類呢??? 一是爲了在各類類型間轉化,經過各類方法的調用。不然 你沒法直接經過變量轉化。 好比,如今int要轉爲String int a=0; String result=Integer.toString(a); 在java中包裝類,比較多的用途是用在於各類數據類型的轉化中。 我寫幾個demo //經過包裝類來實現轉化的 int =Integer.valueOf("12"); int 2=Integer.parseInt("12"); double 3=Double.valueOf("12.2"); double num4=Double.parseDouble("12.2"); //其餘的相似。經過基本數據類型的包裝來的valueOf和parse來實現String轉爲 String a=String.valueOf("1234");//這裏括號中幾乎能夠是任何類型 String b=String.valueOf(true); String c=new Integer(12).toString();//經過包裝類的toString()也能夠 String d=new Double(2.3).toString(); 再舉例下。好比我如今要用泛型 List<Integer> nums; 這裏<>須要類。若是你用int。它會報錯的
int 是基本類型,直接存數值java
integer是對象,用一個引用指向這個對象spa
1.Java 中的數據類型分爲基本數據類型和複雜數據類型code
int 是前者>>integer 是後者(也就是一個類)orm
Integer 是對象類型 int是原始類型 適用場合有很大的不一樣 之因此要把int封裝成Integer 型 是由於不少方法參數就只接收對象類型(Object) 還好比 範型 就只支持 對象類型對象
例如往ArrayList裏面add,必須add的是Object而int不是對象,就只能把Integer添加進去string
2.初始化時>>it
int i =1;io
Integer i= new Integer(1);(要把integer 當作一個類看)class
int 是基本數據類型(面向過程留下的痕跡,不過是對java的有益補充)容器
Integer 是一個類,是int的擴展,定義了不少的轉換方法
相似的還有:float Float;double Double;string String等
舉個例子:當須要往ArrayList,HashMap中放東西時,像int,double這種內建類型是放不進去的,由於容器都是裝 object的,這是就須要這些內建類型的外覆類了。
Java中每種內建類型都有相應的外覆類。
Java中int和Integer關係是比較微妙的。關係以下:
1.int是基本的數據類型;
2.Integer是int的封裝類;
3.int和Integer均可以表示某一個數值;
4.int和Integer不可以互用,由於他們兩種不一樣的數據類型;
舉例說明
ArrayList al=new ArrayList();
int n=40;
Integer nI=new Integer(n);
al.add(n);//不能夠
al.add(nI);//能夠
補充
String str = "1";
Integer i = Integer.valueof(str);
(1)調用Integer類中的靜態方法valueOf(String) (2)valueOf方法將傳入的參數String轉化爲int型值 (3)返回該值,若是String並非純粹由數字構成即沒法轉化爲數字,則拋出NumberFormatException..