Home >Java >javaTutorial >Why does my Java code throw an \'integer literal out of range\' error even though I\'m using a long variable?
Understanding Data Types and Error Handling
In your code, you have declared a long variable named testLong and attempted to assign it the value 9223372036854775807. However, you encountered an error stating that the literal is out of range for an int type.
The Role of Data Types
Each data type in Java represents a different range of values. The long data type can hold integer values between -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. Your attempted value falls within this range.
Identifying the Error
The error message you received indicates that the compiler is interpreting the literal 9223372036854775807 as an int type, which has a smaller value range. This interpretation is caused by the absence of the letter 'L' at the end of the literal.
Correcting the Code
To resolve this issue, you need to explicitly specify that the literal is of type long. This can be done by adding the letter 'L' to the end of the literal, as shown below:
<code class="java">long testLong = 9223372036854775807L;</code>
With this modification, the compiler will correctly interpret the literal as a long value and assign it to the testLong variable.
The above is the detailed content of Why does my Java code throw an \'integer literal out of range\' error even though I\'m using a long variable?. For more information, please follow other related articles on the PHP Chinese website!