「文字從Int 到Long 的不安之旅」
在Java 資料類型領域,遇到類似「The int 類型的文字xyz 超出範圍」甚至會讓經驗豐富的程式設計師感到困惑。以下揭開這個令人費解的謎題的答案。
揭開謎底
儘管將變數 testLong 宣告為 long 資料型,Java 仍將文字值 9223372036854775807 解釋為整數,導致錯誤。這個謎題的缺失在於一個微妙的遺漏:在文字末尾加上一個大寫「L」。
秘密成分
Java 需要文字要明確指定為 long,以免編譯器將它們解釋為整數。將大寫「L」附加到文字(如下面更正的程式碼所示)可以解決問題:
<code class="java">long testLong = 9223372036854775807L;</code>
透過此更改,編譯器將文字識別為長值,尊重其無限範圍-9,223,372,036,854,775,808 至9,223,372,036,854,775,807。
以上是為什麼 Java 會對長文字拋出「超出範圍」錯誤,儘管變數被宣告為 long?的詳細內容。更多資訊請關注PHP中文網其他相關文章!