java int == integer_java int与integer的区别
int與integer的區別從大的方面來說就是基本數據類型與其包裝類的區別:
int 是基本類型,直接存數值,而integer是對象,用一個引用指向這個對象
1.Java 中的數據類型分為基本數據類型和復雜數據類型
int 是前者而integer 是后者(也就是一個類);因此在類進行初始化時int類的變量初始為0.而Integer的變量則初始化為null.
2.初始化時:
int i =1;Integer i= new Integer(1);(要把integer 當做一個類看);但由于有了自動裝箱和拆箱 (http://ycgit.blog.51cto.com/8590215/1637992),
使得對Integer類也可使用:Integer i= 1;
int 是基本數據類型(面向過程留下的痕跡,不過是對java的有益補充),Integer 是一個類,是int的擴展,定義了很多的轉換方法
類似的還有:float Float;double Double;string String等,而且還提供了處理?int?類型時非常有用的其他一些常量和方法
舉個例子:當需要往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);//可以
并且泛型定義時也不支持int: 如:List list = new ArrayList();可以? 而List list = new ArrayList();則不行
總而言之:如果我們定義一個int類型的數,只是用來進行一些加減乘除的運算or作為參數進行傳遞,那么就可以直接聲明為int基本數據類型,但如果要像
對象一樣來進行處理,那么就要用Integer來聲明一個對象,因為java是面向對象的語言,因此當聲明為對象時能夠提供很多對象間轉換的方式,與一些常用
的方法。自認為java作為一們面向對象的語言,我們在聲明一個變量時最好聲明為對象格式,這樣更有利于你對面向對象的理解。
Java ? 提供兩種不同的類型:引用類型和原始類型(或內置類型)。Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。
原始類型 ? ? ? ? ? 封裝類
boolean ? ? ? ? ? ? Boolean
char ? ? ? ? ? ? ? ? ? Character
byte ? ? ? ? ? ? ? ? ? Byte
short ? ? ? ? ? ? ? ? Short
int ? ? ? ? ? ? ? ? ? ? Integer
long ? ? ? ? ? ? ? ? ? Long
float ? ? ? ? ? ? ? ? Float
double ? ? ? ? ? ? ? Double
引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例數據時所指定的缺省值。對象引用實例變量的缺省值為 ? null,而原始類型實例變量的缺省值與它們的類型有關。
int ? 一般做為數值參數就夠了
integer ? 一般做類型轉換的時候用的較多
總結
以上是生活随笔為你收集整理的java int == integer_java int与integer的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java私塾 设计模式 视频_[章节]J
- 下一篇: 烫伤之后能不能涂酱油?