Maison  >  Article  >  Java  >  Pourquoi ma valeur longue génère-t-elle une erreur « Hors plage » ?

Pourquoi ma valeur longue génère-t-elle une erreur « Hors plage » ?

DDD
DDDoriginal
2024-10-31 03:33:01162parcourir

Why Does My Long Value Throw an

L'énigme du type de données long : démêler l'erreur « hors plage »

Lorsque vous travaillez avec des types de données en Java, il est Il est crucial de respecter leurs fourchettes de valeurs respectives. Long, en particulier, présente une plage impressionnante allant de -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807. Cependant, une erreur déroutante peut survenir si la syntaxe appropriée n'est pas respectée.

Comme le montre l'extrait de code, une tentative a été faite pour attribuer la valeur 9223372036854775807 à une variable longue nommée testLong. Cependant, le compilateur a rétorqué de manière alarmante avec le message : "Le littéral 9223372036854775807 du type int est hors de portée."

Cette erreur incongrue provient du fait que le compilateur a interprété par erreur le littéral comme un type de données int, qui a un plage de valeurs beaucoup plus petite. Pour rectifier ce malentendu, une simple modification est nécessaire. L'ajout d'un L majuscule à la fin du littéral demandera au compilateur de le traiter comme un long :

long value = 9223372036854775807L;

En incorporant cet ajustement subtil, la valeur attribuée s'inscrit parfaitement dans la plage autorisée du type de données long. . N'oubliez pas que l'absence de ce suffixe incite le compilateur à identifier à tort le littéral comme un int, ce qui conduit à la redoutable erreur « hors de portée ».

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