Rumah >Java >javaTutorial >Mengapakah kod Java saya membuang ralat \'integer literal di luar julat\' walaupun saya menggunakan pembolehubah panjang?
Memahami Jenis Data dan Pengendalian Ralat
Dalam kod anda, anda telah mengisytiharkan pembolehubah panjang bernama testLong dan cuba memberikannya nilai 9223372036854775807 . Walau bagaimanapun, anda menghadapi ralat yang menyatakan bahawa literal berada di luar julat untuk jenis int.
Peranan Jenis Data
Setiap jenis data dalam Java mewakili julat nilai yang berbeza. Jenis data panjang boleh memegang nilai integer antara -9,223,372,036,854,775,808 dan 9,223,372,036,854,775,807. Nilai percubaan anda berada dalam julat ini.
Mengenal pasti Ralat
Mesej ralat yang anda terima menunjukkan bahawa pengkompil mentafsir 9223372036854775807 literal sebagai jenis int, yang mempunyai julat nilai yang lebih kecil. Tafsiran ini disebabkan oleh ketiadaan huruf 'L' di hujung literal.
Membetulkan Kod
Untuk menyelesaikan isu ini, anda perlu secara eksplisit nyatakan bahawa literal adalah jenis panjang. Ini boleh dilakukan dengan menambah huruf 'L' pada penghujung literal, seperti yang ditunjukkan di bawah:
<code class="java">long testLong = 9223372036854775807L;</code>
Dengan pengubahsuaian ini, pengkompil akan mentafsir literal sebagai nilai panjang dengan betul dan menetapkannya kepada pembolehubah testLong.
Atas ialah kandungan terperinci Mengapakah kod Java saya membuang ralat \'integer literal di luar julat\' walaupun saya menggunakan pembolehubah panjang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!