首頁  >  文章  >  Java  >  Java 的 int 和 Integer:原始與物件 — 有什麼不同?

Java 的 int 和 Integer:原始與物件 — 有什麼不同?

Barbara Streisand
Barbara Streisand原創
2024-11-24 11:27:11401瀏覽

Java's int and Integer: Primitive vs. Object—What's the Difference?

原始與物件:理解Java 中的Integer 與int

在Java 中,int 與Integer 之間的差異源自於它們的基本性質。

int:原始資料Type

int 是直接保存數值的原始資料型別。它佔用固定的記憶體空間,儲存整數的二進位表示。

Integer:一個包裝類別

Integer,另一方面,是一個包裝類別一個 int 值。它的行為就像 Java 中的任何其他物件一樣,具有自己的方法和欄位。整數變數儲存整數物件的參考。

實例化與賦值

顯示的程式碼突顯了這種區別:

int n = 9; // Assigns the value 9 to the primitive variable n

在這種情況下, n直接儲存整數值9.

// This code won't compile because Integer expects a reference to an object
Integer n = 9;

方法呼叫

像 Integer 這樣的包裝類別提供了允許對包裝值進行操作的方法。例如:

Integer.parseInt("1") // Parses a string into an int (returns an int)

由於 int 不是類,因此它沒有像 parseInt 這樣的方法。

// This code won't compile
int.parseInt("1")

自動裝箱和拆箱

Java 5 引入了自動裝箱和拆箱,可自動在原始類型和包裝類型之間進行轉換。這種便利性可能會引入微妙的錯誤和效能問題,因此建議明確轉換。

包裝類別層次結構

Java 中的所有基本類型都有等效的包裝類別: Byte (byte )、Short(短整型)、Integer(整數)、Long(長整型)、Boolean(布林型)、Character(字元型)、Float(浮點型) (float) 和Double (double)。

包裝類別擴展了 Object 類,允許它們在需要物件參考的集合和泛型中使用。

以上是Java 的 int 和 Integer:原始與物件 — 有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn