일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파라미터
- 벤타 청소
- Post
- 마녀정원
- 사용공간
- 손 발이 차가운 아이
- 중국
- 기술 프레임워크
- technical framework
- root 경로 변경
- SQL Server
- 윈도우
- 컬럼명 찾기
- keytools
- mybatis
- keyAlias
- JBoss
- Remote Desktop Manager
- full stack
- 쇠구슬 소리
- IQAir
- ECU 업그레이드
- 주문 거절
- 검색 운영
- dns-prefetch
- x509
- xdg-open
- ssh 웹사이트 열기
- lazy-loading
- 타이레놀 ADHD
- Today
- Total
Collective Intelligence
Java 8 Lambda(람다) 식 본문
작년에 새로운 프로젝트에 들어가면서 자바 8이 나왔길래 무작정 설치를 하고 적용했다.
그러다가 문득 그래도 버전 앞자리가 바뀐건데 다른게 있겠지 하고 둘러보다가 Lambda 표현식을 사용할 수 있다고 한다.
매뉴얼이나 튜토리얼을 찾아보니 람다식을 설명하면서 Anonymous Classes, 혹은 Anonymous Inner Classes를 주로 예를 드는데
람다식을 쓰면 Anonymous Classes를 Compact하게 구현해서 가독성도 뛰어나고 깔끔하다는 식으로 설명을 해두었다.
위에서 보듯이 5줄을 코딩해야 하는 (이클립스에선 자동완성이지만) 5줄을 1줄로 끝낼 수 있다고 한다.
표현식이 좀 낯설기는 하지만 소스가 많이 줄어든다는 것은 디버깅도, 운영도 편하기에 아주 괜찮은 것 같다.
이 방법 외에도 method가 하나인 interface에도 사용할 수 있다고 한다.
이쯤되면 대충 어떻게 쓰일 수 있는지 알 수 있다. 숙달이 되면 뭐 코딩도 빨라질 것 같기도 하고, 소스 이해도 빠를 것 같다.
그럼 끝으로 람다식의 구조는 다음과 같다. 기본 구조는 (argument) -> (body)로 되어있다.
예를 들면
(int a, int b) -> { return a + b;} //int는 생략해도 된다.
() -> System.out.println("Hello"); //argument가 없고, Hello가 출력된다.
(String s) -> { System.out.println(s);} //String s 가 정의되지 않아서 null이 출력된다.
아래는 자세한 설명이다.
(int a)
is same as just (a)
(a, b)
or (int a, int b)
or (String a, int b, float c)
() -> 42
a -> return a*a
'개발 > JAVA' 카테고리의 다른 글
Keytool 을 이용하여 .cer 파일 만들기 - x509 certificate (0) | 2017.02.28 |
---|---|
Quartz Trigger를 이용한 간단한 스케줄링 (0) | 2016.06.21 |
모델 (Model) 클래스를 json 형태로 변환 (0) | 2016.04.04 |
[JAVA 1.8] Map 에서 Value값을 Sorting하기 (0) | 2016.03.31 |