lambda expression 예제

이전 섹션인 익명 클래스에서는 이름을 지정하지 않고 기본 클래스를 구현하는 방법을 보여 줍니다. 명명된 클래스보다 간결한 경우가 많지만 메서드가 하나뿐인 클래스의 경우 익명 클래스조차도 약간 과도하고 번거로울 수 있습니다. Lambda 식을 사용하면 단일 메서드 클래스의 인스턴스를 보다 간편하게 표현할 수 있습니다. 매우 새롭고 흥미 진진한 기능인 Java 8은 자바 람다 표현입니다. 그들은 스칼라와 같은 고급 언어에 종사 한 우리 중 많은 사람들에게 알려지지 않았습니다. Lambda 구문에는 두 개 이상의 매개 변수 주위에만 괄호가 필요하거나 매개 변수가 전혀 없는 경우입니다. 따라서 코드를 약간 짧게 만들고 매개 변수가 하나만 있는 경우 괄호를 제외하는 것이 안전합니다. 두 개의 인수로 람다 식의 작동을 보여 주는 Java 프로그램입니다. CheckPerson 인터페이스는 기능 인터페이스입니다. 기능 인터페이스는 하나의 추상 메서드만 포함하는 모든 인터페이스입니다. (기능 인터페이스에는 하나 이상의 기본 메서드 또는 정적 메서드가 포함될 수 있습니다.) 함수 인터페이스에는 추상 메서드가 하나만 포함되어 있으므로 구현할 때 해당 메서드의 이름을 생략할 수 있습니다. 이렇게 하려면 익명 클래스 식을 사용하는 대신 다음 메서드 호출에서 강조 표시된 람다 식을 사용합니다.

이 연산자는 “됨”으로 생각하면 도움이 될 수 있습니다. 예를 들어 “n은 n*n이 된다”, 또는 “n은 n 제곱이 된다”. 람다 표현식은 Java 8에서 도입된 새로운 기능입니다. 람다 식은 익명 함수입니다. 이름이 없고 클래스에 속하지 않는 함수입니다. 람다 식의 개념은 LISP 프로그래밍 언어로 처음 도입되었습니다. 또한 Runnable이 단일 메서드 run()이 있는 기능 인터페이스임을 확인했습니다. 따라서 thread 클래스의 생성자에게 lambda 식을 전달할 때 컴파일러는 첫 번째 코드 샘플에 표시된 것과 같이 식을 동일한 Runnable 코드로 변환하려고 시도합니다. 컴파일러가 성공하면 컴파일러가 모든 것이 잘 실행되고 컴파일러가 식을 동등한 구현 코드로 변환 할 수없는 경우 불평합니다. 여기서 위의 예제에서는 람다 식이 Runnable 유형으로 변환됩니다. 다음 예제에서는 집계 작업을 사용하여 선택적 서비스를 받을 수 있는 컬렉션 명단에 포함된 멤버의 전자 메일 주소를 인쇄합니다. 다음은 앞으로 나아갈 계획입니다.

이전 예제에도 불구하고 기본적으로 내부 클래스를 람다 식으로 대체한 경우 두 개념은 중요한 방법인 범위가 다릅니다. 왼쪽은 표현식에 필요한 매개 변수를 지정하며, 매개 변수가 필요하지 않은 경우에도 비어 있을 수 있습니다. Java의 람다 식에는 다음과 같은 주요 부분이 있습니다: Lambda 식에는 본문 및 매개 변수 목록만 있습니다. 1. 이름 없음 – 함수는 익명이므로 이름 2에 대해 신경 쓰지 않습니다. 매개 변수 목록 3. 본체 – 이것은 기능의 주요 부분입니다. 4. 반환 유형 없음 – java 8 컴파일러는 코드를 확인하여 반환 형식을 유추할 수 있습니다. 명시적으로 언급 할 필요가 없습니다. 이 작업에 람다 식을 사용하는 경우 코드는 다음과 같을 것입니다 : 메서드 printPerson을 호출하는 대신 테스터가 지정한 조건을 충족하는 해당 Person 인스턴스에서 수행할 다른 작업을 지정할 수 있습니다.

람다 식을 사용할 때 이 작업을 지정할 수 있습니다. printPerson와 유사한 람다 식을 원한다고 가정해 보며, 하나의 인수(Person 형식의 개체)를 취하고 void를 반환하는 형식입니다.

Uncategorized