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());
}
}