모던 자바인 액션 ch9 - 리팩터링, 테스팅, 디버깅

김진욱·2022년 10월 24일
0

java

목록 보기
9/13
post-thumbnail

리팩터링, 테스팅, 디버깅

익명 클래스를 람다 표현식으로 리팩터링하기

익명클래스 사용

Runnable r1 = new Runnable() {
    public void run() {
        System.out.println("Hello");
    }
}

람다 표현식 사용하기

Runnable r1 = () -> System.out.println("Hello");

람다 표현식을 사용할때의 주의점

int a = 10;
Runnable r1 = () -> {
    int a = 2; // -> 컴파일 에러
    System.out.println(a);
}
int a = 10;
Runnable r1 = new Runnable() {
    int a = 2; // -> 지역변수로 활용
    System.out.println(a);
}

실행 어라운드 패턴

String oneLine = processFile((br) -> br.readLine()); // -> 파라미터로 람다 전달


public static String processFile(BufferedReaderProcessor p) throws IOException { // -> 파라미터로 함수형 인터페이스를 받는다
    try(BufferedReader br = new BufferedReader(new FileReader("test"))) { // -> try-wiht-resources 패턴 : 자원을 자동으로 해제 시켜준다.
        return p.prcoess(br);
    }
}


public interface BufferedReaderProcessor {
    String process(BufferedReader br) throws IOException;
}

0개의 댓글

관련 채용 정보