在Java中,int和Integer都是代表整數(shù)數(shù)值的數(shù)據(jù)類型,但是它們之間需要進行轉(zhuǎn)換。
int是一種基本數(shù)據(jù)類型,表示32位有符號的整數(shù),可以直接進行計算和比較。而Integer是int的封裝類,它是一種對象類型,可以實現(xiàn)與其它對象類型同樣的操作,例如使用類的方法和繼承等特性。但是,在實際的應用中,int和Integer之間需要進行相互轉(zhuǎn)換以實現(xiàn)不同的操作。
int i = 100; // int轉(zhuǎn)換成Integer Integer integer = i; // Integer轉(zhuǎn)換成int int j = integer.intValue(); // Integer轉(zhuǎn)換成String String str = integer.toString(); // String轉(zhuǎn)換成Integer Integer integer2 = Integer.valueOf(str);
從上面的代碼示例可以看出,int轉(zhuǎn)換成Integer可以直接賦值,而Integer轉(zhuǎn)換成int需要調(diào)用intValue()方法。同樣,Integer和String之間也需要進行轉(zhuǎn)換,可以使用Integer的toString()方法和String的valueOf()方法。
需要注意的是,從int轉(zhuǎn)換成Integer時,實際上是進行了自動裝箱(autoboxing)操作,而從Integer轉(zhuǎn)換成int則需要進行自動拆箱(unboxing)操作。這些操作都是Java編譯器在編譯代碼時自動進行的。