java8的Consumer函数式接口


Consumer是消费性接口,通用的方法是用accept()方法;

实体类

    /**
     * 消费型接口,有参数,无返回值类型的接口。
     */
    @Test
    public void consumerTest() {
        User user = User.builder().build();
        UserPageDto userPageDto = new UserPageDto();
        userPageDto.setUserName("张三");
        userPageDto.setRole(2);
        cosumerMethod(user, userPageDto, (x, y) -> BeanUtils.copyProperties(x, y));
        cosumerMethod1(user, (x) -> System.out.println(x));
        cosumerMethod1(user, System.out::println);
    }
    
    private void cosumerMethod1(User user, Consumer<User> cu) {
        cu.accept(user);
    }

    private void cosumerMethod(User user, UserPageDto userPageDto, BiConsumer<UserPageDto,User> bc) {
        bc.accept(userPageDto, user);
    }

其中user和userPageDto可以如下:

@Data
public class UserPageDto {

    private String userName;
    private Integer role;

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM