Kotlin
Kotlin pour les développeurs Java
Recherche…
Introduction
La plupart des gens qui viennent à Kotlin ont une formation en programmation Java.
Cette rubrique rassemble des exemples comparant Java à Kotlin, en soulignant les différences les plus importantes et les joyaux proposés par Kotlin sur Java.
Déclaration des variables
Dans Kotlin, les déclarations de variables sont légèrement différentes de celles de Java:
val i : Int = 42
Ils commencent par
val
ouvar
, rendant la déclarationfinal
(" val ue") ou var iable.Le type est noté après le nom, séparé par un
:
Grâce à l' inférence de type de Kotlin, la déclaration de type explicite peut être obéie s'il y a une affectation avec un type que le compilateur est capable de détecter sans ambiguïté
Java | Kotlin |
---|---|
int i = 42; | var i = 42 ( ou var i : Int = 42 ) |
final int i = 42; | val i = 42 |
Faits rapides
- Kotlin n'a pas besoin
;
mettre fin aux déclarations - Kotlin est null-safe
- Kotlin est 100% interopérable avec Java
- Kotlin n'a pas de primitives (mais optimise ses homologues d'objet pour la JVM, si possible)
- Les classes Kotlin ont des propriétés, pas des champs
- Kotlin propose des classes de données avec des méthodes
equals
/hashCode
et des accesseurs de champs générés automatiquement - Kotlin a uniquement des exceptions d'exécution, aucune exception vérifiée
- Kotlin n'a pas de
new
mot clé . La création d'objets se fait simplement en appelant le constructeur comme toute autre méthode. - Kotlin prend en charge la surcharge (limitée) de l' opérateur . Par exemple, l'accès à une valeur de carte peut être écrit comme
val a = someMap["key"]
:val a = someMap["key"]
- Kotlin peut non seulement être compilé en octets pour la machine virtuelle Java , mais aussi en Java Script , ce qui vous permet d’écrire à la fois du code backend et du code frontal dans Kotlin.
- Kotlin est entièrement compatible avec Java 6 , ce qui est particulièrement intéressant en ce qui concerne le support des anciens appareils Android
- Kotlin est une langue officiellement prise en charge pour le développement Android
- Les collections de Kotlin présentent une distinction intrinsèque entre les collections mutables et immuables .
- Kotlin soutient Coroutines (expérimental)
Égalité et identité
Kotlin utilise ==
pour l'égalité (c'est-à-dire que les appels sont equals
interne) et ===
pour l'identité référentielle.
Java | Kotlin |
---|---|
a.equals(b); | a == b |
a == b; | a === b |
a != b; | a !== b |
Voir: https://kotlinlang.org/docs/reference/equality.html
SI, TRY et d'autres sont des expressions, pas des déclarations
Dans Kotlin, if
, try
et d'autres sont des expressions (elles renvoient donc une valeur) plutôt que des instructions (vides).
Ainsi, par exemple, Kotlin n'a pas l' opérateur Elvis ternaire de Java, mais vous pouvez écrire quelque chose comme ceci:
val i = if (someBoolean) 33 else 42
L’ expression try
est encore moins familière, mais tout aussi expressive :
val i = try {
Integer.parseInt(someString)
}
catch (ex : Exception)
{
42
}