public static void main(String[] args) {
// 1. lambda表达式逻辑处理判断 predicate的test方法返回一个true或者false
Predicate predicate = (Object name) -> {
return "admin".equals(name);
};
System.out.println(predicate.test("admin"));
System.out.println(predicate.test("manager"));
// 2.lambda表达式consumer中accept方法逻辑处理不需要返回值的场景(例如发送推送消息)
Consumer<String> consumer = (String message) -> {
System.out.println("要发送的消息" + message);
System.out.println("消息发送完成");
};
consumer.accept("hello我的大众迈腾");
consumer.accept("imooc lambda expression");
// 3.lambda表达式Function中apply方法传入一个对象返回另一个对象(前端传入男女,后台存入数据库0 1)
Function<String, Integer> function = (String gendar) -> {
return "male".equals(gendar) ? 0 : 1;
};
System.out.println(function.apply("male"));
System.out.println(function.apply("failmale"));
//4.lambda表达式Supplier中get方法 参数传递一个空 返回一个T类型的工厂
Supplier<String> supplier = () -> {
return UUID.randomUUID().toString();
};
System.out.println(supplier.get());
System.out.println(supplier.get());
//5.lambda表达式Supplier中get方法 接收参数T,返回一个处理后的T
UnaryOperator<String> unaryOperator = (String img) -> {
img += "[100,200]";
return img;
};
System.out.println(unaryOperator.apply("原图"));
//6.接收两个参数T对象,返回一个参数T
//这里不会进行一个自动装箱处理的操作
BinaryOperator<Integer> binaryOperator = (Integer age1, Integer age2) -> {
return age1 > age2 ? age1 : age2;
};
System.out.println("逻辑处理后得到的对象" + binaryOperator.apply(1, 2));
}
