Le concept de la méthode de référence Java 8

Java 8 La méthode de référence est l’un des concepts fournis avec les nouvelles expressions de Lambda qui appartiennent à JDK 8, nous allons expliquer étape par étape. Java à ce moment-là, il y avait deux concepts fondamentaux, classes et interfaces.

diagramme de référence de méthode Java 8

avec elle arrive Java 8 Lambda expressions apparaissent:

Java 8 Référence de la méthode Lambda

Ces expressions nous permettent une plus grande réutilisation de notre code que de la réutilisation de cours, nous pouvons simplement réutiliser des fonctions. Celles-ci sont converties pour la mettre d’une certaine manière dans l’unité de code minimale. Pour Java pour intégrer ces concepts, nous devons supposer que les concessions doivent être concesses puisque Java n’autorise que la gestion des classes et des interfaces. Ainsi, les expressions de Lambda se présentent d’interfaces qui ne prennent que supporter une méthode abstraite. En Java 8, plusieurs de ces interfaces prédéfinies sont nombreuses. Pour répondre à notre exemple, nous allons prendre en charge l’interface de consommation < qui a une seule méthode appelée accepter qui reçoit un paramètre et ne renvoie rien. C’est l’une des interfaces fonctionnelles les plus simples.

package com.arquitecturajava.lambdareferencias;import java.util.function.Consumer;public class Principal {public static void main(String args) {Consumer<String> consumidor = (x) -> System.out.println(x); consumidor.accept("hola");}}

Dans ce cas, nous avons assigné à la consommation d’interface fonctionnelle une expression de Lambda qui correspond à celle-ci. Rappelez-vous que l’interface reçoit un paramètre et ne renvoie rien, le résultat imprimera Hello par la console:

Méthode de référence Java 8 Imprimer

Nous voudrons peut-être avoir une plus grande flexibilité dans notre code et nous soutenir dans une méthode qui nous permet de faire varier l’expression lambda et le texte que nous imprimons.

package com.arquitecturajava.lambdareferencias;import java.util.function.Consumer;public class Principal {public static void main(String args) {Consumer<String> consumidor = (x) -> System.out.println(x);consumidor.accept("hola");procesar ((x)->System.out.println(x),"hola2");}public static <T> void procesar(Consumer<T> expresion, T mensaje) {expresion.accept(mensaje);}}

Le résultat sera similaire:

Java 8 Référence de la méthode principale

Méthode de référence Java 8

Maintenant, les expressions Lambda vous permettent d’ajouter plus de flexibilité au code. Par exemple, nous pouvons avoir une autre méthode d’impression dans la même classe conforme au modèle de l’expression de la Lambda (il reçoit un paramètre et ne renvoie rien).

Java 8 Fonction de référence de méthode

« 4AF58A1A43″> Java 8 Fonction de référence de la méthode

Nous pouvons utiliser la syntaxe de la méthode de référence Java 8 pour invoquer le processus processus nous supportant dans cette nouvelle fonction.

package com.arquitecturajava.lambdareferencias;import java.util.function.Consumer;public class Principal {public static void main(String args) {Consumer<String> consumidor = (x) -> System.out.println(x);consumidor.accept("hola");procesar ((x)->System.out.println(x),"hola2");procesar(Principal::imprimir,"hola3");}public static <T> void procesar(Consumer<T> expresion, T mensaje) {expresion.accept(mensaje);}public static void imprimir(String mensaje) {System.out.println("---------");System.out.println(mensaje);System.out.println("---------");}}

Comme vous pouvez le voir, nous avons utilisé la syntaxe principale :: Impression pour aller comme référence une fonction de référence dans notre propre programme.

Java 8 Pointeur de référence de la méthode

La console affichera:

Java8MethOréferenceInnaternal

Ceci apportera une grande flexibilité à la méthode, car si nous avons une autre classe qui a une méthode qui reçoit un paramètre et ne pas retourner, vous pouvez également l’utiliser:

package com.arquitecturajava.lambdareferencias;public class Impresora {public void imprimir (String mensaje) {System.out.println("imprimiendo impresora");System.out.println(mensaje);System.out.println("imprimiendo impresora");}}

e n Ce cas nous avons créé la classe d’imprimante, nous pouvons utiliser votre méthode d’impression comme s’il s’agissait d’une référence à une expression Lambda.

package com.arquitecturajava.lambdareferencias;import java.util.function.Consumer;public class Principal {public static void main(String args) {Consumer<String> consumidor = (x) -> System.out.println(x);consumidor.accept("hola");procesar ((x)->System.out.println(x),"hola2");procesar(Principal::imprimir,"hola3");Impresora i= new Impresora();procesar(i::imprimir,"hola4");}public static <T> void procesar(Consumer<T> expresion, T mensaje) {expresion.accept(mensaje);}public static void imprimir(String mensaje) {System.out.println("---------");System.out.println(mensaje);System.out.println("---------");}}

Le programme principal sera Imprimez la fonctionnalité de l’imprimante:

Java 8 Méthode Référence Imprimer

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *