Les classes internes anonymes sont progressivement remplacées par la montée en puissance des expressions lambda. Les expressions Lambda fournissent une syntaxe plus claire et plus facile à comprendre pour exprimer des interfaces fonctionnelles et remplacer les classes internes anonymes dans Java 8 et versions ultérieures. Bien que les classes internes anonymes soient toujours utiles dans certaines situations, par exemple lorsque les expressions lambda ne sont pas possibles ou lorsque des objets doivent être manipulés au moment de l'exécution, leur utilisation est en déclin.
L'évolution des classes internes anonymes en Java
Les classes internes anonymes sont un type spécial en Java qui permet de définir et d'utiliser des classes sans avoir besoin de créer des classes nommées. La tendance à utiliser des classes internes anonymes en Java a considérablement changé ces dernières années, principalement en raison de la montée en puissance des expressions lambda.
Expressions Lambda
Les expressions Lambda sont une fonctionnalité qui simplifie la syntaxe des classes internes anonymes, permettant aux interfaces fonctionnelles d'être exprimées en utilisant une syntaxe plus propre et plus lisible. Les expressions Lambda permettent aux développeurs de définir une interface fonctionnelle de manière anonyme, tout comme l'utilisation de classes internes anonymes, mais dans un code plus propre et plus facile à comprendre.
Java 8 et supérieur
Java 8 et supérieur ont introduit les expressions Lambda et ont commencé à remplacer les classes internes anonymes. La syntaxe des expressions Lambda est plus propre et améliore la lisibilité et la maintenabilité du code. Voici un exemple d'utilisation de classes internes anonymes :
new Thread(new Runnable() { @Override public void run() { System.out.println("Hello world!"); } });
À l'aide d'expressions Lambda, ce code peut être réécrit comme :
new Thread(() -> System.out.println("Hello world!"));
Trends
Avec l'adoption généralisée des expressions Lambda, l'utilisation de classes internes anonymes est en déclin . Cependant, les classes internes anonymes sont toujours utiles dans certaines situations, par exemple lorsque les expressions lambda ne sont pas possibles ou lorsque des objets doivent être manipulés au moment de l'exécution.
Cas pratique
Supposons que vous ayez une liste contenant des objets qui doivent être traités. Vous pouvez utiliser des classes internes anonymes pour définir des règles sur la façon dont chaque objet est traité, comme ceci :
List<String> names = Arrays.asList("Alice", "Bob", "Carol"); names.forEach(new Consumer<String>() { @Override public void accept(String name) { System.out.println("Hello " + name + "!"); } });
À l'aide d'expressions Lambda, ce code peut être réécrit comme :
names.forEach(name -> System.out.println("Hello " + name + "!"));
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!