概述
新时代的程序员必须要要掌握的:lambda 表达式、链式编程、函数式接口、Stream 流式计算
Function 函数式接口
package net.yscxy.function; import java.util.function.Function; /** * @Author WangFuKun * @create 2020/11/23 14:53 */ /* *Function 函数式接口,有一个输入参数,有一个输出 * 只要是函数式接口都可以用Lambda表达式简化 * */ public class Demo01 { 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> function1 = (str) -> { return str; }; System.out.println(function1.apply("abc")); } }
也可以更简单这样写
Function<String, String> function1 = str -> { return str; };
Predicate
有一个参数返回值只能是布尔值
package net.yscxy.function; import java.util.function.Predicate; /** * @Author WangFuKun * @create 2020/11/23 15:02 */ /* * 断定式接口,也就是有一个输入参数,返回值只能是布尔值 * */ public class Demo02 { public static void main(String[] args) { // Predicate<String> predicate = new Predicate<String>() { // @Override // public boolean test(String str) { // return str.isEmpty(); // } // }; // System.out.println(predicate.test("d")); Predicate<String> predicate = str -> { return str.isEmpty(); }; } }
Consumer 消费型接口
消费型接口,只有输入,没有返回值
package net.yscxy.function; import java.util.function.Consumer; /** * @Author WangFuKun * @create 2020/11/23 15:14 */ /* * 消费型接口,只有输入,没有返回值 * */ public class Demo03 { public static void main(String[] args) { // Consumer<String> consumer = new Consumer<String>() { // @Override // public void accept(String str) { // System.out.println("消费了->" + str); // } // }; // consumer.accept("strssssssss"); Consumer<String> consumer = str->{ System.out.println(str); }; consumer.accept("test"); } }
Supplier 供给型接口
供给型接口,没有参数,只有返回值
package net.yscxy.function; import java.util.function.Supplier; /** * @Author WangFuKun * @create 2020/11/23 15:21 */ /* * 供给类型接口,没有参数,只有返回值 * */ public class Demo04 { public static void main(String[] args) { // Supplier<String> stringSupplier = new Supplier<String>() { // @Override // public String get() { // return "abs"; // } // }; // System.out.println(stringSupplier.get()); Supplier<String> stringSupplier = () -> { return "abs"; }; System.out.println(stringSupplier.get()); } }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于