Java 中 Integer 和 int 的區別


在 Java 中,int 和 Integer 都用於儲存整數型別資料,兩者之間的主要區別在於 int 的型別是基本型別,而 Integer 是類型別。當開發過程中涉及到面向物件程式設計的概念時,這種差異變得非常重要,因為 int 遵循基本資料型別的原則,而 Integer 則表現為包裝類。

以下是 int 和 Integer 之間的重要區別。

序號關鍵點intInteger
1型別int 是一種資料型別,用於儲存 32 位帶符號的二進位制補碼整數。另一方面,Integer 是一個包裝類,它將基本型別 int 封裝成一個物件。
2用途int 有助於將整數值儲存到記憶體中。Integer 有助於根據需要將 int 轉換為物件,並將物件轉換為 int。
3靈活性與 Integer 相比,int 的靈活性較差,因為它只允許在其中儲存整數的二進位制值。另一方面,Integer 在儲存和操作 int 資料方面更靈活。由於包裝類繼承了 Object 類,因此它們可以在包含 Object 引用或泛型的集合中使用。
4記憶體分配如前所述,int 是一種基本資料型別,需要 32 位(4 位元組)來儲存。另一方面,Integer 是一個物件,需要 128 位(16 位元組)來儲存其 int 值。
5強制轉換在 Java 中,不能直接或透過強制轉換將字串值(僅包含整數)分配給 int 變數。對於 Integer,我們可以使用 Integer(String) 建構函式將字串分配給 Integer 型別的物件,或者甚至使用 parseInt(String) 將字串字面量轉換為 int 值。
6直接轉換為其他進位制對於 int,我們無法將其整數值轉換為其他進位制。但是,在 Integer 中,我們可以使用 toBinaryString()、toOctalString() 或 toHexString() 分別直接將其整數值轉換為二進位制、八進位制或十六進位制格式。
7允許的操作int 不允許使用任何內建函式來更改其值或語法。但是,在 Integer 中,我們可以使用 reverse()、rotateLeft() 和 rotateRight() 分別反轉數字或將其向左或向右旋轉。

int 與 Integer 的示例

JavaTester.java

示例

 即時演示

public class JavaTester {
   public static void main(String args[]){
      Integer a = new Integer("456");
      // Casting not possible
      // int a = (int)"456";
      // Casting not possible
      // int c="456";
      // Casting possible using methods
      // from Integer Wrapper class
      int b = Integer.parseInt("456");
      System.out.print(b);
   }
}

輸出

456

更新於: 2020-03-02

11K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告