首先從最基本的說起,int屬于基本數據類型,Integer屬于類封裝的對象,兩者的定義本身就不同,但兩者又是直接相關的,在java中,最核心的就是對象,萬物皆對象,所以每個基本數據類型都與類相對應的,int對應的類是Integer,char對應的類是Character,float對應的類是Float等等。在Integer n=new Integer(1)中,n是一個對象,繼承關系如下:
java.lang.Object
java.lang.Number
java.lang.Integer
所以n具有一系列的屬性和方法。而對于int n,n是一個整形變量,不具備任何屬性和方法。然而,兩者可以相互轉化,Integer變為int可以使用intValue()方法,而int類型也可以封裝成Integer對象。有時我們會看到Integer n=1;這樣的代碼,所以這就涉及到自動封箱、拆箱的問題了,在此不再贅述
新聞熱點
疑難解答