概述
新时代的程序员必须要要掌握的: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());
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于