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