달력

052017  이전 다음

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

'lambda'에 해당되는 글 3건

  1. 2014.02.10 Java8 Release Candidate
  2. 2014.01.15 eclipse에서 JDK8 사용하기
  3. 2014.01.14 Java의 람다 표현식

Java8 Release Candidate

java 2014.02.10 20:28

b128로 공개되었습니다. beta벗어나서 RC(Release Candidate) 버전입니다.

3/14 정식버전 출시예정이라고 합니다. 이제 한 달 정도 남았네요.


kenuui-Retina-MacBook-Pro:~ kenu$ java -version

java version "1.8.0"

Java(TM) SE Runtime Environment (build 1.8.0-b128)

Java HotSpot(TM) 64-Bit Server VM (build 25.0-b69, mixed mode)


스프링4 빌드할 경우 jdk1.8이 필요합니다.

https://jdk8.java.net/download.html




저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 케누 kenu허광남

아직은 JDK8의 정식 버전이 나오지 않아서 이 화면을 보기 쉽지 않습니다.



eclipse 개발중인 다른 버전을 다운로드 받아서 JDK8을 테스트할 수 있습니다.

efxclipse는 e(fx)clipse 즉, JavaFX 개발용 패키지들이 포함된 이클립스입니다. 그래서 용량이 350MB 이상입니다.

http://downloads.efxclipse.org/eclipse-java8/


http://docs.oracle.com/javase/tutorial/java/javaOO/examples/RosterTest.java
http://docs.oracle.com/javase/tutorial/java/javaOO/examples/Person.java
두 소스는 JDK8 샘플입니다.
설명은 http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html 주소의 문서를 참고하세요.



저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 케누 kenu허광남

Java의 람다 표현식

java 2014.01.14 18:18

Lambda Expression 이라고 얘기합니다. jdk8에 포함된 기능입니다.

인터페이스의 메소드가 하나일 때, 이것에 대한 인터페이스를 만들고, 익명 클래스로 만들어서 처리하는 것을 단순화 시켰습니다.

http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html

예제가 잘 되어 있습니다.


최종 결과는 다음과 같은 코드입니다. C++에서 보던 -> 기호 때문에 당황스럽군요.

printPersons( roster, (Person p) -> p.getGender() == Person.Sex.MALE && p.getAge() >= 18 && p.getAge() <= 25 

    );


람다 표현식을 사용하기 전의 코드는 다음과 같이 익명 클래스로 되어 있습니다.

printPersons(
    roster,
    new CheckPerson() {
        public boolean test(Person p) {
            return p.getGender() == Person.Sex.MALE
                && p.getAge() >= 18
                && p.getAge() <= 25;
        }
    } 

    );


interface CheckPerson {
    boolean test(Person p);
}


확실히 interface 파일 하나 줄이고, 코드를 1/3로 줄이는 효과가 있습니다.

람다 표현식을 사용하려면 아직 개발자 미리보기 버전을 설치해야 합니다.

http://jdk8.java.net



갑자기 이 노래가 생각납니다.

Lambada




저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 케누 kenu허광남

티스토리 툴바