JAVA/JAVA8
Consumer Functional Interface
최-코드
2024. 8. 13. 13:49
- 하나의 인자를 받고 리턴 타입이 없는 accept함수가 있다.
- accept함수나 foreach, andThen에 대해서 자세히 보려면 메소드 참고
public class ConsumerExample {
public static void main(String[] args){
List<Student> studentList = StudentDataBase.getAllStudents();
Consumer<Student> printName = (student) -> System.out.println(student.getName());
//foreach함수는 Consumer<>타입을 인자로 받고, 각 인자마다 accept함수를 실행한다.
studentList.forEach(printName);
Consumer<Student> printActivities = student -> System.out.println(student.getActivities());
//.andThen을 통해 이어서 실행할 Consumer<>타입을 지정할 수 있다.
studentList.forEach(printName.andThen(printActivities));
printNameActivitiesUsingCondition();
}
public static void printNameActivitiesUsingCondition(){
List<Student> studentList = StudentDataBase.getAllStudents();
studentList.forEach(student -> {
if(student.getGradeLevel() >= 3){
System.out.println(student.getName()+": ");
System.out.println(student.getActivities());
}
});
}
}