개발공부/Java

[Supplier] What is Java 8 Supplier interface?

klyhyeon 2021. 9. 11. 03:35
728x90

What is Java 8 Supplier interface?

Optional을 사용하다보면 파라미터 타입에 Supplier Interface인 경우가 있습니다. 이는 argument
가지지 않고 결과를 리턴해주는 연산을 수행해주는 인터페이스 인데요, get() 메서드 즉 하나의 추상 메서드만 가지는 functional method 입니다.

(예제코드)

    static Expression of(String expression) {
        return Arrays.stream(values())
                .filter(v -> matchExpression(v, expression))
                .findFirst()
                .orElseThrow(() ->
                        new IllegalArgumentException(String.format("%s는 사칙연산에 해당하지 않는 표현식입니다.", expression))
                );
    }

참고자료: javabydeveloper - What is Java 8 Supplier interface?