web-dev-qa-db-fra.com

Java: Y a-t-il une différence entre L et l (L minuscule) lors de la spécification d'un long?

Lorsque je spécifie un nombre pour être un long avec une valeur constante 400, existe-t-il une différence entre l'utilisation de 400L et 400l?

At-il une relation avec le type d'encapsuleur? L est-il utilisé pour obtenir un wrapper Long et l pour le type de données primitif long?

18
Lippstadtfreak

Aucune différence pratique . L ou l peuvent être utilisés, les deux indiquent une primitive long. De plus, l'un ou l'autre peut être boîte automatique au type de wrapper Long correspondant.

Cependant, il convient de noter que JLS-3.10.1 - Littéraux entiers dit (en partie)

Un littéral entier est de type long s'il est suffixé d'une lettre ASCII lettre L ou l (ell); sinon, il est de tapez int ( §4.2.1 ).

Le suffixe L est préféré, car la lettre l (ell) est souvent difficile à distinguer du chiffre 1 (un).

19
Elliott Frisch

Oui: c'est la lisibilité.

Il est facile de se tromper 400l pour quatre mille un lorsque vous y jetez un premier coup d'œil.

Je trouve qu'il est plus probable de l'interpréter correctement comme quatre cents de long avec les majuscules L.

9
duffymo