Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Java 9 : Opérateur diamant (<>) avec classes anonymes

L'opérateur diamant <> (Java 7) simplifie l'instanciation générique mais n'était pas utilisable avec les classes anonymes. Java 9 lève cette restriction.

Avant Java 9 : type explicite requis

Handler<Integer> intHandler = new Handler<Integer>(1) { ... };
Handler<? extends Number> intHandler1 = new Handler<Number>(2) { ... };
Handler<?> handler = new Handler<Object>("test") { ... };

Java 9+ : diamant autorisé

Handler<Integer> intHandler = new Handler<>(1) { ... };
Handler<? extends Number> intHandler1 = new Handler<>(2) { ... };
Handler<?> handler = new Handler<>("test") { ... };

Code complet

public class Tester {
    public static void main(String[] args) {
        Handler<Integer> intHandler = new Handler<>(1) {
            @Override public void handle() { System.out.println(content); }
        };
        intHandler.handle();

        Handler<? extends Number> intHandler1 = new Handler<>(2) {
            @Override public void handle() { System.out.println(content); }
        };
        intHandler1.handle();

        Handler<?> handler = new Handler<>("test") {
            @Override public void handle() { System.out.println(content); }
        };
        handler.handle();
    }
}
abstract class Handler<T> {
    public T content;
    public Handler(T content) { this.content = content; }
    abstract void handle();
}

Sortie

1
2
test

Amélioration purement syntaxique qui réduit la verbosité et améliore la lisibilité avec les types génériques complexes dans les classes anonymes.

Java

  1. Comprendre le mot-clé final en Java : variables, méthodes et classes
  2. L'opérateur instanceof en Java : guide complet
  3. Maîtriser les classes imbriquées et internes en Java : types, exemples et bonnes pratiques
  4. Comprendre les classes imbriquées statiques en Java : utilisation, différences et exemples
  5. Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
  6. Le pattern Singleton en Java expliqué : implémentation et utilisation sûre
  7. Maîtriser la réflexion Java : inspection des classes, méthodes et champs à l'exécution
  8. Maîtriser Java ObjectOutputStream : Sérialisation, méthodes et exemples pratiques
  9. Maîtriser les génériques Java : Construire du code réutilisable et type-safe