[JAVA] Point 42: Préférez les lambdas aux classes anonymes

42. L'expression Lambda doit être sélectionnée dans une classe anonyme

package tryAny.effectiveJava;

import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class AnonymouseVsLambda {
    public static void main(String[] args) {
        List<String> words1 = Arrays.asList("apple", "pen", "pineapple");
        //Écrivez dans une classe anonyme.
        Collections.sort(words1, new Comparator<String>() {
            public int compare(String s1, String s2) {
                return Integer.compare(s1.length(), s2.length());
            }
        });
        System.out.println(words1);

        //Si le type est défini sur Raw, une erreur de compilation se produira.
        List<String> words2 = Arrays.asList("banana", "grape", "melon");
        //Écrivez dans le style lambda.
        Collections.sort(words2, (s1, s2) -> Integer.compare(s1.length(), s2.length()));
        System.out.println(words2);
    }
}

Recommended Posts

Point 42: Préférez les lambdas aux classes anonymes
Rubrique 43: Préférez les références de méthode aux lambdas
Élément 23: Préférez les hiérarchies de classes aux classes balisées
Élément 28: Préférer les listes aux tableaux
Rubrique 65: Préférez les interfaces à la réflexion
Élément 39: Préférez les annotations aux modèles de dénomination
Point 85: Préférez les alternatives à la sérialisation Java
Point 58: Préférez les boucles for-each aux boucles for traditionnelles
Point 61: Préférez les types primitifs aux primitives encadrées
Élément 81: Préférez les utilitaires de concurrence pour attendre et notifier
Élément 80: Préférez les exécuteurs, les tâches et les flux aux threads
Élément 89: Pour le contrôle d'instance, préférez les types enum à readResolve
Élément 47: Préférez la collecte au flux comme type de retour
[Java] À propos des classes anonymes