Utiliser des annotations
Annoter le code
Utiliser des annotations est une leçon Kotlin Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.
Que sont les annotations
Les annotations associent des métadonnées au code. Elles ne modifient pas le comportement par elles-mêmes, mais les outils, les compilateurs et les bibliothèques les lisent pour prendre des décisions.
Vous écrivez une annotation avec @ suivi de son nom, juste avant l'élément auquel elle s'applique.
Une première annotation
La bibliothèque standard fournit plusieurs annotations utiles. @Deprecated marque le code qui ne devrait plus être utilisé et affiche un avertissement à l'emplacement de l'appel.
@Deprecated("Use newGreet() instead")
fun greet() = "Hi"
fun newGreet() = "Hello"
fun main() {
println(newGreet())
}Annotations avec arguments
Les annotations peuvent accepter des arguments, écrits comme des paramètres de constructeur. @Deprecated accepte un message et, éventuellement, une indication ReplaceWith.
@Deprecated(
message = "Renamed for clarity",
replaceWith = ReplaceWith("sum(a, b)")
)
fun add(a: Int, b: Int) = a + b
fun sum(a: Int, b: Int) = a + b
fun main() {
println(sum(2, 3))
}Supprimer les avertissements
@Suppress indique au compilateur de désactiver certains avertissements pour l'élément annoté. Vous transmettez les noms des avertissements sous forme de chaînes.
@Suppress("UNUSED_VARIABLE")
fun main() {
val unused = 42
println("Runs without the unused-variable warning")
}JvmStatic et ses compères
Certaines annotations influencent la compilation de Kotlin vers la JVM. @JvmStatic, @JvmField et @JvmName contrôlent le code binaire afin que les appelants Java disposent d'interfaces plus conviviales.
Elles n'ont aucun effet sur du code Kotlin uniquement, mais elles sont importantes pour l'interopérabilité.
class Math {
companion object {
@JvmStatic
fun square(x: Int) = x * x
}
}
fun main() {
println(Math.square(5))
}Cibles d'utilisation des annotations
Une propriété peut générer plusieurs éléments JVM : un champ, un accesseur de lecture, un accesseur d'écriture et des paramètres de constructeur. Les cibles d'utilisation indiquent où une annotation doit être placée.
Syntaxe : @get:, @set:, @field:, @param:.
class User(@get:JvmName("fetchName") val name: String)
fun main() {
val u = User("Ada")
println(u.name)
}Throws pour l'interopérabilité Java
Kotlin ne possède pas d'exceptions vérifiées. Les appelants Java ne voient donc jamais de clauses d'exception, sauf si vous ajoutez @Throws. Cette annotation inscrit le type d'exception dans la signature du code binaire.
import java.io.IOException
@Throws(IOException::class)
fun readData(): String {
return "data"
}
fun main() {
println(readData())
}Annotations multiples
Vous pouvez empiler plusieurs annotations sur un même élément. Chacune doit être placée sur sa propre ligne, ou séparée par des espaces. L'ordre n'a aucune importance.
@Deprecated("old")
@Suppress("DEPRECATION")
fun legacy() = "still here"
fun main() {
println(legacy())
}Annotations sur les expressions
Les annotations peuvent également s'appliquer aux expressions et aux déclarations locales, et pas seulement aux fonctions ou aux classes de niveau supérieur. C'est courant avec @Suppress à l'intérieur du corps d'une fonction.
fun main() {
@Suppress("UNUSED_VARIABLE")
val temp = computeOnce()
println("Done")
}
fun computeOnce() = 99OptIn et interfaces de programmation expérimentales
Les bibliothèques signalent les interfaces de programmation instables à l'aide d'annotations personnalisées d'adhésion explicite. Pour les utiliser, vous reconnaissez le risque avec @OptIn(SomeApi::class) ou en propageant l'annotation.
Cela rend les fonctionnalités expérimentales explicites plutôt qu'accidentelles.
fun main() {
// @OptIn would appear here when calling an experimental function
println("Opt-in keeps unstable APIs visible")
}Pourquoi utiliser des annotations ?
Les annotations vous permettent de communiquer vos intentions aux outils : les compilateurs avertissent lors des appels obsolètes, les bibliothèques de sérialisation associent les champs, les cadres d'évaluation trouvent les méthodes d'évaluation et les cadres d'injection de dépendances connectent les dépendances.
- Des métadonnées, pas de la logique
- Lues au moment de la compilation ou à l'exécution
- La configuration reste proche du code
Vérification rapide
Vérifiez votre compréhension de l'utilisation des annotations.
Récapitulatif
Vous avez appris à utiliser les annotations intégrées :
@Deprecated,@Suppress,@Throws- Interopérabilité avec la JVM :
@JvmStatic,@JvmName - Cibles d'utilisation comme
@get:et@field: - Adhésion explicite aux interfaces de programmation expérimentales
Vous allez maintenant définir vos propres annotations.
Questions Fréquemment Posées
La leçon « Utiliser des annotations » est-elle gratuite ?
Oui — le texte complet de « Utiliser des annotations » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Utiliser des annotations » ?
Annoter le code Tu pratiques Kotlin Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Kotlin Academy ?
Aucune expérience préalable n'est requise. Kotlin Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Utiliser des annotations » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Kotlin Academy ?
Oui. Chaque leçon Kotlin Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Utiliser des annotations
- Définir des annotations
- Bases de la réflexion
- Réflexion pratique