-
Java - LambdaJava 2018. 2. 7. 12:38반응형// 일반적인 익명 객체 실행public class Main {public static void main(String[] args) {// 일반적인 익명 객체 실행Runnable task1 = new Runnable() {@Overridepublic void run() {for(int i=1;i<=3;i++) {System.out.println("익명 객체 실행");}}};// Thread th1 = new Thread(task1);// th1.start();new Thread(task1).start(); // 메서드 체이닝 -> 반환값이 있어야 스레드를 낚아챌수 있다.}}// 람다 익명 객체 실행public class Main {public static void main(String[] args) {// 람다식 익명 객체// 무조건 1개의 인터페이스, 1개의 메서드만 구현 가능하다.Runnable task1 = () -> {for(int i=1;i<=3;i++) {System.out.println("익명 객체 실행");}};new Thread(task1).start(); // 메서드 체이닝 -> 반환값이 있어야 스레드를 낚아챌수 있다.}}public class Main {public static void main(String[] args) {// 타입 생략 가능 - 인터페이스에서 지정되있음OperationA lambdaA = (a, b) -> {int result = a+b;System.out.println(result);};lambdaA.plus(3, 7);// 매개변수 1개일 경우 () 생략가능OperationB lambdaB = a -> {System.out.println(a+" LambdaB의 제곱 : "+a*a);};lambdaB.square(5);OperationC lambdaC = () -> {System.out.println("프로그램 실행");};lambdaC.process();// 실행 내용없이 반환만 있는 경우// 코드 블록 생략 가능OperationD lambdaD = msg -> System.out.println(msg);lambdaD.echo("반환만 한다");}// LambdaInterfaceinterface OperationA{void plus(int a, int b);}interface OperationB{void square(int a);}interface OperationC{void process();}interface OperationD{void echo(String msg);}}반응형
'Java' 카테고리의 다른 글
JavaFX - FXML - Scene Builder (0) 2018.02.08 Java - JavaFX (0) 2018.02.08 Java - Webserver Http (0) 2018.02.07 Java - Network - File I/O (0) 2018.02.07 Java - UDP (0) 2018.02.06 댓글