首頁 >Java >java教程 >為什麼 Java 在賦值給 Long 變數時會拋出「int 類型的文字 xyz 超出範圍」?

為什麼 Java 在賦值給 Long 變數時會拋出「int 類型的文字 xyz 超出範圍」?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 05:41:271003瀏覽

Why Does Java Throw

修正「int 類型的文字xyz 超出範圍」

在Java 中使用資料型別時,了解它們的意義至關重要值範圍。但是,即使為 long 變數賦值,您也可能會遇到錯誤「The Literal xyz of type int is out of range」。

要解決此問題,關鍵是明確指定 int 的類型值。在Java中,最大2^31-1的整數值可以用int表示,而更大的值則需要long。但是,除非明確指定,否則 Java 會隱式地將數位文字解釋為 int。

在您的情況下,程式碼將大於 2^63-1 的值指派給名為 testLong 的 long 變數。由於文字 9223372036854775807 超出了 int 的範圍,編譯器將其解釋為 int 的範圍,導致錯誤。

要解決此問題,只需在數字文字的末尾附加一個大寫L 來指示它代表一個long 值:

<code class="java">long testLong = 9223372036854775807L;</code>

透過明確指定文字的類型,可以確保編譯器將其正確分配給適當的資料類型。當使用接近資料類型的最大值或最小值的文字時,這種做法尤其重要,以避免潛在的錯誤。

以上是為什麼 Java 在賦值給 Long 變數時會拋出「int 類型的文字 xyz 超出範圍」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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