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
valouvar, 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/hashCodeet 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
newmot 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
}