[JAVA] Transformer d'une classe normale en un style lambda

introduction

Bonjour. C'est Kecho. ** Utilisez-vous le style lambda? ** ** Je vais l'utiliser pour la première fois à partir de maintenant. Je suis un amateur.

Après cela, il sera transformé

100% classe

Tout d'abord, la classe qui implémente l'interface Ruunable est la suivante.

class lambda implements Runnable {
	@Override
	public void run() {
		System.out.print("OK");
	}
}

Implémentez la méthode run en fonction de l'interface et terminez.

Degré de classe 60%, degré Lambda 40%

Runnable runner = new Runnable() {
	@Override
	public void run() {
		System.out.print("OK-ish");
	}
}; //OK-ish

Ici, la classe est anonymisée et définie au même endroit que l'instanciation. Si vous omettez le dernier ";", une erreur de compilation se produira. S'il vous plaît, faites-moi savoir.

Degré de classe 40%, degré Lambda 60%

Nous supprimerons les parties redondantes par inférence de type.

Runnable runner = {
	@Override
	public void run() {
		System.out.print("OK-ish");
	}
}; //OK-ish

new runnable()Peut deviner le type du côté gauche.

Degré de classe 20%, degré Lambda 80%

Runnable runner = {
		{
		System.out.print("OK-ish");
}; //OK-ish

public void run() Étant donné que l'interface exécutable n'a qu'une méthode d'exécution, il n'est pas nécessaire de la spécifier.

Degré Lambda 100%

Runnable runner = () -> System.out.print("OK-ish");// OK-ish

Ajoutez () -> pour représenter l'argument et omettez {} pour compléter l'expression lambda.

Résumé

Est-il possible d'écrire comme JS? ?? ??

Recommended Posts

Transformer d'une classe normale en un style lambda
Introduction au style lambda
Expression régulière Ruby Extrait d'une chaîne de caractères spécifique vers une chaîne de caractères
Qu'est-ce qu'une expression lambda?
Attribuer des expressions lambda Java8 aux variables et les réutiliser
Qu'est-ce qu'une expression lambda (Java)
[Kotlin] Trois façons d'obtenir un cours depuis KClass
Un programme qui calcule la puissance de 2 à 100
Choisissez une hiérarchie de classes parmi les classes balisées
Je veux ForEach un tableau avec une expression Lambda en Java
J'ai essayé de générer automatiquement une classe à convertir d'une classe de données en un bundle avec APT
GetInstance () à partir d'une classe @Singleton dans Groovy à partir de Java
[Android] Créez une nouvelle classe en héritant d'ImageView
Connectez-vous à Aurora (MySQL) depuis une application Java
Comment obtenir un heapdump à partir d'un conteneur Docker
Pour devenir programmeur VB.net depuis une boutique Java
Comment créer une classe qui hérite des informations de classe
Comment obtenir une classe depuis Element en Java
Comment convertir un contrat de solidité en une classe de contrat Java
Comment utiliser l'API Java avec des expressions lambda
Java 8 pour démarrer maintenant ~ for Each et expression lambda ~
Passer les conditions utilisées dans le filtre d'expression lambda Java8 () comme paramètres
[Java] Expression Lambda
Expression lambda Java
Passer la classe Form du Controller à Symleaf avec Spring-Boot
3. Créez une base de données à laquelle accéder à partir du module Web
Je veux appeler une méthode d'une autre classe
Comment passer d'Eclipse Java à un fichier SQL
Extraire les éléments dans l'ordre du type de classe ArrayList
Comment déployer à partir d'une image Docker locale vers Heroku
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Point 25: limiter les fichiers source à une seule classe de premier niveau
Il y a une dizaine d'années, un utilisateur de Java a tenté d'étudier les fonctions de Java8 (édition de style Lambda).