Java中int和integer的區(qū)別
Java中有兩個數(shù)據(jù)類型,一個是int,一個是integer,這兩個數(shù)據(jù)類型是一樣的嗎?其實,它們是不同的數(shù)據(jù)類型,具體有哪些不同。下面,小編來跟大家分享一下Java中int和integer的區(qū)別。
定義區(qū)別
1.int 是基本類型,直接存數(shù)值。
2.integer是對象,用一個引用指向這個對象。
3.Java 中的數(shù)據(jù)類型分為基本數(shù)據(jù)類型和復雜數(shù)據(jù)類型。int 是前者,integer 是后者(也就是一個類)。
4.int 是基本數(shù)據(jù)類型,Integer 是一個類,是int的擴展,定義了很多的轉(zhuǎn)換方法。
類似的還有:float Float;double Double;string String等。
下面小編舉個例子說明一下。
當需要往ArrayList,HashMap中放東西時,像int,double這種內(nèi)建類型是放不進去的,因為容器都是裝object的,這是就需要這些內(nèi)建類型的外覆類了。
Java中每種內(nèi)建類型都有相應的外覆類。
具體區(qū)別
1.int是基本的數(shù)據(jù)類型;
2.Integer是int的封裝類;
3.int和Integer都可以表示某一個數(shù)值;
4.int和Integer不能夠互用,因為他們兩種不同的數(shù)據(jù)類型;
下面小編舉例說明一下。
例如:
ArrayList al=new ArrayList();
int n=40;
Integer nI=new Integer(n);
al.add(n);//不可以
al.add(nI);//可以
泛型定義時也不支持int:
例如:
List
List
小編總結
如果我們定義一個int類型的數(shù),只是用來進行一些加減乘除的運算or作為參數(shù)進行傳遞,那么就可以直接聲明為int基本數(shù)據(jù)類型,但如果要像對象一樣來進行處理,那么就要用Integer來聲明一個對象,因為java是面向?qū)ο蟮恼Z言,因此當聲明為對象時能夠提供很多對象間轉(zhuǎn)換的方式,與一些常用的方法。
小編認為java作為一們面向?qū)ο蟮恼Z言,我們在聲明一個變量時最好聲明為對象格式,這樣更有利于你對面向?qū)ο蟮睦斫狻?/p>