Quand tu écris du Kotlin et que tu vois passer un 1000L ou un 1.5F, tu peux te demander pourquoi ces lettres sont en majuscule alors que les types (Int, Float, Long) ont leurs propres règles. La réponse est simple : les suffixes et les types n’appartiennent pas au même monde.
Les suffixes : une histoire de littéraux
En Kotlin, comme en Java, les suffixes servent à indiquer le type d’un littéral numérique :
-
L→Long -
F→Float -
D→Double(souvent implicite)
val timeout = 5 * 60 * 1000L val ratio = 1.5F val pi = 3.14159
Sans suffixe :
-
un entier est un
Intpar défaut -
un nombre à virgule est un
Double
Le suffixe permet donc de lever toute ambiguïté au moment de la compilation.
Pourquoi L en majuscule ?
Techniquement, l existe. Mais en pratique, on ne l’utilise jamais.
1000l // valide 1000L // recommandé
La raison est purement pragmatique :
l ressemble beaucoup trop à 1.
1000l peut vite devenir illisible, surtout dans du code dense ou des calculs de durée.
👉 Convention universelle : on écrit L en majuscule. Point.
Les types Kotlin : une autre règle
Contrairement à Java, Kotlin n’expose pas les types primitifs. Tout est écrit avec une majuscule :
val a: Int = 5 val b: Long = 1000L val c: Float = 1.5F
Mais attention :
Même si tu écris Int et Long, le compilateur génère des primitives Java (int, long) quand c’est possible.
Lisibilité propre, performances intactes.
Le piège classique
val x = 1000 // Int val y = 1000L // Long
Mélanger les deux sans t’en rendre compte peut provoquer :
-
des casts implicites
-
des erreurs de compilation
-
ou des signatures de fonctions incompatibles
D’où l’intérêt d’être explicite avec les suffixes.
À retenir
-
LetFsont des suffixes de littéraux, pas des types -
Ils sont sensibles à la casse
-
Lmajuscule est une bonne pratique, pas une obligation technique -
En Kotlin, les types sont
Int,Long,Float,Double -
Le compilateur fait le boulot bas niveau pour toi
Bref :
Si tu vois un 1000L, ce n’est pas du folklore.
C’est du code clair, lisible, et sans surprise.