Maison >Java >javaDidacticiel >Pourquoi Java lance-t-il « Le xyz littéral de type int est hors de portée » lors de l'attribution à une variable longue ?

Pourquoi Java lance-t-il « Le xyz littéral de type int est hors de portée » lors de l'attribution à une variable longue ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 05:41:271003parcourir

Why Does Java Throw

Correction de "Le xyz littéral du type int est hors de portée"

Lorsque vous travaillez avec des types de données en Java, il est essentiel de comprendre leur plages de valeurs. Cependant, vous pouvez rencontrer une erreur indiquant "Le xyz littéral de type int est hors plage", même lors de l'attribution d'une valeur à une variable longue.

Pour résoudre ce problème, la clé est de spécifier explicitement le type de la valeur. En Java, les valeurs entières jusqu'à 2 ^ 31-1 peuvent être représentées par int, tandis que les valeurs plus grandes nécessitent un long. Cependant, Java interprète implicitement les littéraux numériques comme des entiers, sauf indication contraire explicite.

Dans votre cas, le code attribue une valeur supérieure à 2^63-1 à une variable longue nommée testLong. Étant donné que le littéral 9223372036854775807 dépasse la plage de int, le compilateur l'interprète comme tel, conduisant à l'erreur.

Pour résoudre ce problème, ajoutez simplement un L majuscule à la fin du littéral numérique pour indiquer qu'il représente un valeur longue :

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

En spécifiant explicitement le type du littéral, vous vous assurez que le compilateur l'attribue correctement au type de données approprié. Cette pratique est particulièrement importante lorsque vous travaillez avec des littéraux proches des valeurs maximales ou minimales d'un type de données pour éviter des erreurs potentielles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn