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