BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Kotlin 1.5 Prend En Charge Les Fonctionnalités De Java 15 Et Un Nouveau Compilateur JVM

Kotlin 1.5 Prend En Charge Les Fonctionnalités De Java 15 Et Un Nouveau Compilateur JVM

Kotlin 1.5 prend en charge les dernières fonctionnalités de Java, y compris les classes record, les interfaces scellées et les classes inline. En outre, il apporte un certain nombre d'améliorations à la bibliothèque standard et un nouveau compilateur JVM IR.

Les records Java sont des classes qui contiennent des données immuables. Une data class Kotlin peut être utilisée comme un record Java en l'annotant avec @JvmRecord :

@JvmRecord
data class User(val name: String, val age: Int)

Pour être utilisée comme un record, une data class Kotlin ne doit pas dériver d'autres classes, car tous les records Java héritent de java.lang.Record, mais peut implémenter des interfaces. Les exigences supplémentaires interdisent de déclarer des propriétés mutables et des classes locales.

Kotlin 1.5 introduit également le support des interfaces scellées et assouplit les exigences pour les classes scellées. Les interfaces scellées et les classes sont des fonctionnalités Java visant à fournir un contrôle précis de l'héritage en permettant à des classes et des interfaces de spécifier leurs sous-types autorisés. Les sous-classes autorisées d'une classe scellée sont connues au moment de la compilation et ne peuvent pas être ajoutées par la suite. Les classes scellées peuvent être déclarées en les préfixant avec le modificateur sealed. Dans Kotlin 1.5, les interfaces et les classes scellées ne sont plus obligées d'appartenir au même fichier et peuvent apparaître dans tous les fichiers de la même unité de compilation et du même package.

Enfin, Kotlin 1.5 stabilise les inline classes, qui sont des types de valeur qui n'entraînent pas de surcharge liée à l'allocation de mémoire. Une classe inline peut être déclarée en utilisant le modificateur value :

@JvmInline //required for the JVM backend
value class Password(val s: String)

Comme mentionné, Kotlin 1.5 apporte également un certain nombre d'améliorations à la bibliothèque standard. En particulier, il introduit une nouvelle API pour les entiers non signés, des fonctions d'extension idiomatiques pour utiliser les I/O Java non bloquantes et des améliorations de l'API String et Char.

Dans le cadre d'un projet de réécriture de l'ensemble du compilateur, Kotlin a introduit l'année dernière un nouveau backend IR qui est devenu stable et le compilateur par défaut de Kotlin 1.5. Le nouveau backend IR devrait améliorer les performances, selon JetBrains, tout en fournissant une infrastructure solide pour ajouter la prise en charge de nouvelles fonctionnalités linguistiques. Le nouveau compilateur n'est pas la seule nouvelle fonctionnalité que Kotlin 1.5 ajoute à son backend JVM, qui améliore également la gestion du type nullability et la compilation d'adaptateurs SAM et de lambdas.

Kotlin 1.5 nécessite au moins Android Studio 4.2 ou Arctic Fox Canary 15.

 

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT