0Pricing
Java Academy · Leçon

Bases des génériques (T, inférence)

Découvrez les paramètres de type génériques T , leur rôle dans la sécurité à la compilation et la façon dont l’opérateur diamant infère les types.

Bases des génériques (T, inférence) est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. 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 Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 3 leçons au total.

Pourquoi les génériques ?

Les génériques ajoutent des types aux conteneurs et aux utilitaires afin que le compilateur puisse vous protéger. Avantages :

  • Sécurité des types — aucun mélange accidentel de types.
  • Aucune conversion de type — un code plus clair.
  • Réutilisabilité — une seule classe fonctionne avec de nombreux types.

Qu’est-ce que T ?

T (paramètre de type) est un emplacement réservé pour un type réel. Lorsque vous écrivez Box<String>, le compilateur considère T comme String dans cette utilisation.

Code : Box<T>

Box<T> : lorsque nous remplaçons T par String, seul String est accepté. Un type incorrect provoque une erreur de compilation ; aucune surprise à l’exécution.

public class Main {
  // A tiny generic container
  static class Box<T> {
    private T value;
    void set(T v) { value = v; }
    T get() { return value; }
  }

  public static void main(String[] args) {
    Box<String> bs = new Box<String>(); // T becomes String
    bs.set("hello");
    System.out.println(bs.get());       // no cast needed

    // Box<Integer> bi = new Box<Integer>();
    // bi.set("oops"); // would not compile: String is not Integer
  }
}

Code : inférence avec le diamant

<> (diamant) permet au compilateur de déduire le type situé à droite. S’il est incompatible avec le type à gauche, la compilation échoue ; cela renforce la sécurité.

public class Main {
  static class Box<T> {
    private T value;
    Box() {}
    Box(T v) { value = v; }
    T get() { return value; }
  }

  public static void main(String[] args) {
    // Type on the left, diamond on the right — compiler infers T
    Box<Integer> a = new Box<>(123);
    Box<String> b = new Box<>("hi");

    System.out.println(a.get() + 1);    // 124
    System.out.println(b.get().toUpperCase());
  }
}

Paramètres de type bornés

Bornes : certaines méthodes génériques exigent une capacité telle que Comparable. Par exemple, <T extends Comparable<T>> signifie que T doit être comparable.

Code : méthode générique bornée

Méthode générique : <T extends Comparable<T>>. Integer et String sont compatibles, car tous deux implémentent Comparable.

public class Main {
  // Generic method: works for any Comparable type
  static <T extends Comparable<T>> T min(T a, T b) {
    return (a.compareTo(b) <= 0) ? a : b;
  }

  public static void main(String[] args) {
    System.out.println(min(3, 7));              // Integer
    System.out.println(min("apple", "banana")); // String (lexicographic)
  }
}

Vérification des bases des génériques

Vérification rapide : Quel est le principal avantage d’utiliser des génériques comme Box<String> ?

Récapitulatif

Récapitulatif : T est un emplacement réservé ; son type est déduit grâce au diamant. Les bornes (extends Comparable) permettent de rendre les méthodes génériques sûres et puissantes.

Questions Fréquemment Posées

La leçon « Bases des génériques (T, inférence) » est-elle gratuite ?

Oui — le texte complet de « Bases des génériques (T, inférence) » 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 Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Bases des génériques (T, inférence) » ?

Découvrez les paramètres de type génériques T , leur rôle dans la sécurité à la compilation et la façon dont l’opérateur diamant infère les types. Tu pratiques Java 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 Java Academy ?

Aucune expérience préalable n'est requise. Java 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 2 sur 3.

Combien de temps prend la leçon « Bases des génériques (T, inférence) » ?

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 Java Academy ?

Oui. Chaque leçon Java 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

  1. Les interfaces en pratique
  2. Bases des génériques (T, inférence)
  3. Méthodes et classes génériques
← Retour à Java Academy