Java中有兩種整數(shù)類型:int和Integer。
int是原始數(shù)據(jù)類型,它是Java語(yǔ)言中最基本的數(shù)據(jù)類型之一,表示一個(gè)32位的帶符號(hào)整數(shù)。int可以存儲(chǔ)的數(shù)值范圍是-2,147,483,648到2,147,483,647。
int a = 10; int b = -20;
Integer是一個(gè)類,它是int的包裝類。Integer類提供了許多有用的方法來(lái)操作整數(shù)值,例如parseInt()和valueOf()方法等。Integer類中還定義了常量MIN_VALUE和MAX_VALUE,表示可以存儲(chǔ)的最小和最大整數(shù)值。
Integer c = new Integer(30); Integer d = Integer.valueOf("-40");
在許多情況下,int和Integer可以相互轉(zhuǎn)換:
int e = d.intValue(); Integer f = Integer.valueOf(e);
需要注意的是,因?yàn)镮nteger是一個(gè)類,所以在比較兩個(gè)Integer對(duì)象時(shí)應(yīng)該使用equals()方法,而不是使用“==”運(yùn)算符。
Integer g = new Integer(50); if(g.equals(c)){ System.out.println("g equals c"); }
在性能方面,int比Integer更高效。因?yàn)镮nteger是一個(gè)類,所以它需要額外的內(nèi)存來(lái)存儲(chǔ)對(duì)象頭和其他垃圾回收相關(guān)的信息。此外,使用Integer還需要進(jìn)行裝箱和拆箱操作,這也會(huì)導(dǎo)致性能下降。因此,在使用整數(shù)時(shí),應(yīng)優(yōu)先考慮使用原始類型int。