> Java > java지도 시간 > System.out::println에 해당하는 람다 표현식은 무엇입니까?

System.out::println에 해당하는 람다 표현식은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-03 15:16:30
원래의
800명이 탐색했습니다.

What is the Lambda Expression Equivalent of System.out::println?

System.out::println에 해당하는 람다 표현식 탐색

Java의 메소드 참조 구문은 메소드를 참조하는 간결하고 읽기 쉬운 방법을 제공합니다. 주어진 예에서 메서드 참조 System.out::println은 forEach 메서드에 대한 인수로 사용됩니다.

메서드 참조 이해

메서드 참조 시스템 .out::println은 System.out에서 참조하는 개체를 사용하여 println 메서드를 호출해야 함을 나타냅니다. 이 경우 System.out은 System 클래스의 정적 멤버이며 표준 출력 스트림을 나타냅니다.

Lambda Expression Equivalent

System에 해당하는 람다 식입니다. out::println은 다음과 같습니다.

<code class="java">o -> System.out.println(o)</code>
로그인 후 복사

이 람다 식은 System.out을 먼저 평가하여 평가된 값을 캡처한 다음 람다 함수를 만듭니다. 이 람다 함수는 o 인수를 취하고 캡처된 System.out 객체에서 println 메서드를 호출하여 o 값을 표준 출력에 인쇄합니다.

정확한 등가 람다 표현식

그러나 System.out::println과 정확히 동일하려면 다음 단계가 필요하다는 점에 주목할 가치가 있습니다.

  1. 평가된 System.out 개체를 변수에 저장:

    <code class="java">PrintStream p = Objects.requireNonNull(System.out);</code>
    로그인 후 복사
  2. 람다 표현식에 저장된 변수 사용:

    <code class="java">numbers.forEach(o -> p.println(o));</code>
    로그인 후 복사

이와 정확히 동일하면 System.out에 대한 변경 사항이 영향을 미치지 않습니다. 람다 표현식의 동작.

위 내용은 System.out::println에 해당하는 람다 표현식은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿