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; }