jdk 1.8 lambda 표현 식 입문
2368 단어 JDK
lamdba 표현 식,()->{}; 매개 변수 가 없 으 면()에 쓰 지 않 고 매개 변 수 를 쓸 수 있 으 며 매개 변수 유형 을 쓰 지 않 아 도 됩 니 다.이 매개 변 수 는 final 등 수정자 에 의 해 수식 되 어야 할 경우 매개 변수 유형 을 추가 해 야 합 니 다.
// lambda (functional operation)
players.forEach((player) -> System.out.print(player + "; "));
// Java 8 (double colon operator)
players.forEach(System.out::println);
lambda 흔 한 인터페이스:
Predicate 인터페이스
매개 변 수 를 입력 하고 되 돌려 줍 니 다. Boolean 값 에는 논리 적 판단 에 사용 되 는 기본 방법 이 많이 내장 되 어 있 습 니 다.
Predicate predicate = (s) -> s.length() > 0;
boolean test = predicate.test("test");
위의 조건 을 만족 시 키 는 지 판단 하고 true 로 돌아 가 는 것 을 만족 시 키 지 않 으 며 false 로 돌아 가 는 것 을 만족 시 키 지 않 습 니 다.
Predicate
대상 이 비어 있 는 지,비어 있 지 않 은 지 true 로 돌아 가 거나,그렇지 않 으 면 false 로 돌아 갑 니 다.
기능 인터페이스
하나의 인 자 를 받 고 단일 한 결 과 를 되 돌려 줍 니 다.기본 적 인 방법(andThen)은 여러 함 수 를 한데 묶 어 복합 Funtion(입력,출력)을 만 들 수 있 습 니 다. 결국
Function name = e -> e * 2;
Function square = e -> e * e;
int value = name.andThen(square).apply(3);
compose 와 and Then 의 차이 점 은 함수 가 실행 하 는 순서 가 다르다 는 것 이다.compose 함 수 는 먼저 파 라 메 터 를 실행 한 다음 호출 자 를 실행 하고 and Then 은 호출 자 를 먼저 실행 한 다음 에 파 라 메 터 를 실행 합 니 다.그래서 설명 andThen name 을 먼저 실행 한 후 square 를 실행 합 니 다.
공급 업 체 인터페이스
주어진 형식의 결 과 를 되 돌려 줍 니 다.Function 과 달리 Supplier 는 인 자 를 받 아들 일 필요 가 없습니다.(공급 자,출력 이 있 고 입력 이 없 음)
Supplier supplier = () -> "special type value";
String s = supplier.get();
System.out.println(s);
소비자 인터페이스
단일 한 입력 매개 변수 에서 해 야 할 작업 을 대표 합 니 다.Function 과 달리 Consumer 는 반환 값 이 없습니다(소비자,입력,출력 없 음)
Consumer add5 = (p) -> {
System.out.println("old value:" + p);
p = p + 5;
System.out.println("new value:" + p);
};
add5.accept(10);
Stream 의 사용 과정 에는 고정된 패턴 이 있 습 니 다.
스 트림 생 성
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java】 STS (Eclipse)에 AdoptOpen JDK 설정· Eclipse를 2020-09로 업데이트하면 jre로 Eclipse를 움직이고 있습니다! 라는 메시지가 나온다. ・메모리 상태의 파악을 위해 MissionControl 넣으려고 하면 JDK로 움직이지 않으면 안 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.