"The Literal's Uneasy Journey from Int to Long"
Im Bereich der Java-Datentypen wird eine rätselhafte Fehlermeldung wie „The „Literal xyz vom Typ int liegt außerhalb des gültigen Bereichs“ kann selbst erfahrene Programmierer verwirren. Entdecken Sie unten die Lösung für dieses verwirrende Rätsel.
Das Rätsel wurde gelöst
Obwohl die Variable testLong als langer Datentyp deklariert wurde, interpretiert Java den Literalwert 9223372036854775807 als Ganzzahl , was zu dem Fehler führt. Das fehlende Teil dieses Puzzles liegt in einer subtilen Auslassung: dem Hinzufügen eines großen „L“ am Ende des Literals.
Die geheime Zutat
Java erfordert Literale müssen explizit als long angegeben werden, damit der Compiler sie nicht als Ganzzahlen interpretiert. Das Anhängen des Großbuchstabens „L“ an das Literal, wie im korrigierten Code unten zu sehen ist, behebt das Problem:
<code class="java">long testLong = 9223372036854775807L;</code>
Mit dieser Änderung erkennt der Compiler das Literal als langen Wert und respektiert seinen grenzenlosen Bereich von -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807.
Das obige ist der detaillierte Inhalt vonWarum gibt Java für ein langes Literal den Fehler „Außerhalb des Bereichs' aus, obwohl die Variable als lang deklariert ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!