四大函数式接口(必需掌握)
四大函数式接口(必需掌握)
-
lambda表达式、链式编程、函数式接口、Stream流式计算=====很重要
-
函数式接口: 只有一个方法的接口
-
@FunctionalInterface public interface Runnable { public abstract void run(); } // 泛型、枚举、反射 // lambda表达式、链式编程、函数式接口、Stream流式计算 // 超级多FunctionalInterface // 简化编程模型,在新版本的框架底层大量应用! // foreach(消费者类的函数式接口)
-
Function函数式接口

/** * 函数型接口 * Function 函数式接口:有一个输入参数,有一个输出参数 * 只要是函数式接口,就可以用lambda表达式简化 */ public class FunctionTest { public static void main(String[] args) { /*Function function = new Function<String,String>() { @Override public String apply(String o) { return o; } };*/ // lambda表达式简化 Function function = (o) -> { return o; }; System.out.println(function.apply("123")); } }
-
-
-
Predicate断定型接口
-
有一个输入参数,返回值只能是 布尔值!
-
-
public class PredicateTest { public static void main(String[] args) { // 判断字符串是否为空 /* Predicate<String> predicate = new Predicate<String>() { @Override public boolean test(String s) { return s.isEmpty(); } };*/ /*Predicate<String> predicate = (s)->{ return s.isEmpty(); };*/ Predicate<String> predicate = s -> s.isEmpty(); System.out.println(predicate.test("123")); } }
-
-
Consumer 消费型接口
-
public class ConsumerTest { /** * Consumer 消费型接口: 只有输入,没有返回值 */ public static void main(String[] args) { /*Consumer<String> consumer = new Consumer<String>() { @Override public void accept(String s) { System.out.println(s); } };*/ /*Consumer<String> consumer = (s)->{ System.out.println(s); };*/ Consumer<String> consumer = s -> System.out.println(s); consumer.accept("123"); } }
-
-
Supplier 供给型接口
-
public class SupplierTest { /** * Supplier 供给型接口 */ public static void main(String[] args) { /*Supplier supplier = new Supplier<String>() { @Override public String get() { return "123"; } };*/ /*Supplier supplier = ()->{ return "123"; };*/ Supplier supplier = () -> "123"; System.out.println(supplier.get()); } }
-

浙公网安备 33010602011771号