Utiliser des expressions Java lambda en dehors de l'API Stream

Utiliser des expressions Java lambda en dehors de l'API Stream

Je pense que beaucoup de gens utilisent des expressions lambda Java avec l'API Stream, Les expressions Lambda peuvent être utilisées non seulement pour les interfaces nouvellement ajoutées dans java8 telles que Consumer et Function. Les expressions Lambda peuvent être utilisées avec l'interface fonctionnelle, Et l'interface dans laquelle une seule méthode est définie en Java est une interface fonctionnelle.

Exemple concret

Par exemple, jetez un œil au ResultSetExtractor utilisé par le jdbc de Spring. Cette interface a uniquement les méthodes suivantes:

T	extractData(ResultSet rs)

Par conséquent, jusqu'à java7, le code écrit comme suit

Entity entity = jdbc.query(sql,new ResultSetExtractor<Entity>() {
 @Override  
     public Entity extractData(ResultSet rs) throws SQLException,  
            DataAccessException {  
      if(!rs.next()){
        return null;
      }else{
        Entity result = new Entity();
        //setValue from resultSet
        return result;
      }
    });  
});


Vous pouvez écrire comme suit.


Entity entity = jdbc.query(sql, rs -> {
    if(!rs.next()){
       return null;
    }else{
      Entity result = new Entity();
      //setValue from resultSet
      return result;
    }
  }
});

C'est très rafraîchissant. Cependant, si vous n'y êtes pas habitué, vous ne savez peut-être pas quel type de cours anonyme vous créez. Cela peut dépendre de la situation de l'équipe.

Résumé

Recommended Posts

Utiliser des expressions Java lambda en dehors de l'API Stream
L'origine des expressions Java lambda
De nos jours, les expressions Java Lambda et l'API de flux
Java: utilisez Stream pour trier le contenu d'une collection
[java8] Pour comprendre l'API Stream
À propos de Lambda, Stream, LocalDate de Java8
Comment utiliser les expressions Java lambda
Gérez les exceptions avec fraîcheur avec les expressions lambda Java 8 et l'API Stream
Essayez d'utiliser l'API Stream en Java
API Java Stream
Comment utiliser l'API Java avec des expressions lambda
[Pour les débutants] À propos des expressions lambda et de l'API Stream
[Java] API / carte de flux
Comprendre les expressions lambda Java 8
Pratique de l'API Java8 Stream
À propos des expressions Java lambda
Expliquer les expressions lambda Java 8
[Java Silver] Résumé des points liés aux expressions lambda
[Pour les débutants] Comprendre rapidement les bases de Java 8 lambda
[Java] Trier la liste à l'aide de flux et d'expressions lambda
Résumé de l'API de communication Java (1) Comment utiliser Socket
Résumé de l'API de communication Java (3) Comment utiliser SocketChannel
Résumé de l'API de communication Java (2) Comment utiliser HttpUrlConnection
Utiliser des couches Lambda avec Java
[Java11] Résumé du flux -Avantages du flux-
Aide-mémoire de l'API Java Stream
[Java] Résumé des expressions régulières
API Java Stream en 5 minutes
Flux Java8, résumé de l'expression lambda
[Java] Introduction à l'expression lambda
[Java] Stream API - Traitement de l'arrêt du flux
[Java] Stream API - Traitement intermédiaire de flux
[Java] Introduction à l'API Stream
[Java] Opération intermédiaire de l'API Stream
[À voir absolument pour l'apprenti ingénieur Java] Comment utiliser l'API Stream
Je souhaite utiliser l'API Java 8 DateTime lentement (maintenant)
Repenser les modèles de conception avec les expressions lambda Java8 et Stream --Builder pattern -
Java: dont le problème est plus rapide, en flux ou en boucle
Java8 Lambda Expression & Stream Design Pattern Repenser - Modèle de chaîne de responsabilité -
Expression lambda Java apprise avec Comparator
[Java] Supprimer les éléments de la liste
[Introduction à Java] À propos des expressions lambda
[Édition Java] Histoire de la sérialisation
[Introduction à Java] À propos de l'API Stream
Examiner la liste des polices disponibles dans AWS Lambda + Java
J'ai essayé le type d'entrée / sortie de Java Lambda ~ Map edition ~
Examinons la signification de "stream" et "collect" dans l'API Stream de Java.
Une histoire sur l'utilisation de l'API League Of Legends avec JAVA
J'ai essayé d'utiliser l'API Java8 Stream
Analyser l'analyse syntaxique de l'API COTOHA en Java
Flux de traitement de base de Java Stream
Java 8 ~ Stream API ~ pour commencer maintenant
Utilisez-vous Stream en Java?
Tirez parti de l'un ou l'autre pour la gestion des exceptions individuelles dans l'API Java Stream
Comprendre un peu la formule lambda
Je voulais écrire un processus équivalent à une instruction while avec l'API Java 8 Stream
Qu'est-ce qui n'était pas une utilisation équitable du détournement d'API Java sur Android?
Comment convertir un tableau de chaînes en un tableau d'objets avec l'API Stream
[Java] Générez une liste restreinte à partir de plusieurs listes à l'aide de l'API Stream