在Java8支持Lambda表达式以后,为了满足Lambda表达式的一些典型使用场景,JDK为我们提供了大量常用的函数式接口。它们主要在 java.util.function 包中,今天介绍其中的Consumer接口
定义一个user类
@Data
public class User {
private String name;
private String age;
public User(String name, String age) {
this.name = name;
this.age = age;
}
}
先声明一个实例,利用supplier声明一个实例。
Supplier<User>supplier =() -> new User("xiaoming","18") ;
这个实例是用来声明user的name和age的一个实例。
再使用Lambda表达式声明一个Consumer
的实例,它是用于打印出User
实例的相关信息;最后Consumer
消费了Supplier
生产的user
public class TestController {
//声明一个实例
static Supplier<User>supplier =() -> new User("xiaoming","18") ;
public static void main(String args[]) {
Consumer<User> consumer = (User user) ->{
log.info("name:{},age:{}",user.getName(),user.getAge());
};
consumer.accept(supplier.get());
}
}
输出结果: