익명클래스 사용
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;
}