Java8 백기선님 강의 메모

인터페이스

– 인터페이스내 추상메서드가 오로지 하나면 @FunctionalInterface를 정의 가능하다

  • static, default 메서드 선언 가능
    • 구현해야 한다
RunSomething runSomething = new RunSomething() {
    // 익명 내부 클래스 annoymous inner class
    @Override
    public void doIt() {
        System.out.println("Foo.doIt");
    }
};
RunSomething runSomething = () -> System.out.println("Foo.doIt");
    RunSomething runSomething = () -> {
        System.out.println("Hello");
        System.out.println("Lambda");
    };

FunctionalInterface와 입출력

인터페이스입력과 출력
Function<T, R>T -> R
UnaryOperatorT -> T
BiFunction<T, U, R >T, U -> R
ConsumerT -> void
Suppliervoid -> T
PredicateT -> boolean

참고 https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

** 생성자의 반환값은 해당 객체의 타입이다 !

Stream

중개형 Operator종료 Operator
Stream 반환Collection 등 반환
연산 수행 X. Lazy 함비로소 연산을 수행

기타 팁

args 넣기

java 클래스명 a b c d

와 결과가 같다

image




© 2020.12. by 따라쟁이

Powered by philz