Interface fonctionnelle de programmation simultanée JUC (13)

Quatre interfaces fonctionnelles

expression lambda, programmation en chaîne, interface fonctionnelle, flux, calcul de flux

Interface fonctionnelle: une interface avec une seule méthode

@FunctionalInterface
public interface Runnable {
    public abstract void run();
}

// Interface fonctionnelle super multi

// Simplifier le modèle de programmation, et appliquer beaucoup en bas de la nouvelle version du framework

// foreach (interface fonctionnelle pour les consommateurs)

Interface fonctionnelle Fonction

 

 

package com.xizi.function;

import java.util.function.Function;

public class Test1 {
    public static void main(String[] args) {
//        Function<String,String> function = new Function<String,String>(){
//            @Override
//            public String apply(String s) {
//                return s;
//            }
//        };
//        lambda简化
        Function<String,String> function =( s)->{return s;};

        System.out.println(function .apply("abc"));
    }
}

L'interface d'assertion a un paramètre d'entrée et la valeur de retour ne peut être qu'une valeur booléenne

package com.xizi.function;

import java.util.function.Predicate;

public class Test2 {
    public static void main(String[] args) {
        //判断字符串是否为空
//        Predicate<String> predicate = new Predicate<String>(){
//            @Override
//            public boolean test(String str) {
//                return str.isEmpty();
//            }
//        };
        Predicate<String> predicate =(str)->{return str.isEmpty();};
        System.out.println(predicate.test(" "));
    }
}

 Interface consommateur consommateur uniquement entrée sans valeur de retour

package com.xizi.function;

import java.util.function.Consumer;

public class Test3 {
    public static void main(String[] args) {
        Consumer<String> consumer = new Consumer<String>(){
            @Override
            public void accept(String string) {
                System.out.println(string);
            }
        };

        Consumer<String> consumer2 = (string)->{System.out.println(string);};

        consumer.accept("ava");
        consumer2.accept("ava");
    }
}

L'interface d'approvisionnement du fournisseur n'a pas de paramètres et renvoie uniquement des valeurs

 

@FunctionalInterface
public interface Supplier<T> {

    T get();
}
package com.xizi.function;

import java.util.function.Supplier;

public class Test4 {
    public static void main(String[] args) {
//        Supplier supplier = new Supplier<Integer>(){
//            @Override
//            public Integer get() {
//                return 12546;
//            }
//        };
        Supplier supplier =()->{  return 12546;};
        System.out.println(supplier.get());
    }
}

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45480785/article/details/105378225
conseillé
Classement