02 Lambda 표현 식
8018 단어 학습 노트
1. 개념:
Java8 lambda , lambda ,
, , CPU 。
Lambda 【 】 【 】【 】 ;
, 、 、 , 。
: , 。
: , Lambda 。
,Lambda 、 、 , 。
:Lambda 。( )
: 。
lambda :**【 lambda 】**
eg : ,lambda
public static void main(String[] args) throws Exception {
// :
Comparator<String> c = new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.length() - o2.length();
}
};
// : +
Comparator<String> d = (o1,o2)->o2.length() - o1.length();
//Comparator d = (o1,o2)-> { return o2.length() - o1.length();};
TreeSet<String> set = new TreeSet<>(c);
}
2. lambda 표현 식 사용:
** : () -> {}**
() ,
{} 。
-> ,
: , : **() -> ; **
, {} , {} , 。
, , , !
1) , : ()->{}
2) , : ()->{return ;} ()-> ;
3) , : (a)->{System.out.println(a)}
4) , : (a)->{a++;return a;}
: ,() : a->{};
5) , : (a,b)->{a++;System.out.println(b);}
6) , : (a,b)->{a++;return a;}
3. lambda 에서 부분 변수의 역할 범위:
lambda 、 ,
, lambda , final,
lambda , 。
static int sum = 20;
public static void main(String[] args) {
//int id = 10; lambda
int age = 10;
I3 i1 = (id)-> {
System.out.println(id++);
System.out.println(sum);
sum = 24;
System.out.println(age);
//age = 20; // lambda age
// age final ,
//
};
sum = 25;
//age = 20;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
STL 학습노트(6) 함수 객체모방 함수는 모두pass-by-value이다 함수 대상은 값에 따라 전달되고 값에 따라 되돌아오기 때문에 함수 대상은 가능한 한 작아야 한다(대상 복사 비용이 크다) 함수 f와 대상 x, x 대상에서 f를 호출하면:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.