우리에게 Predicate
과 Function
- 인터페이스를 말할 수 기능 인터페이스를 구현 a boolean
그리고 우리의 경우 매개 변수는 문자열입니다. 그런데 왜 다음과 같은 방법 참조는 잘 될 것 같다 :자바 8 :</p> <pre><code>Function<String, String> function = null; Predicate<String> predicate = null; </code></pre> <p>이 지금은 반환 유형이 곳 <code>Predicate</code> - 인터페이스 방법 참조를주고 싶다 : 방법을 이해하지 않습니다 자바는
Predicate<String> predicate = String::isEmpty;
isEmpty
-method에는 문자열 매개 변수가없는의 Predicate
- 인터페이스는 문자열 매개 변수를 필요로하지만. 왜 아직도 옳은가? 내가 놓친 게 있니?
다른 예제 : 함수 인터페이스는 우리의 경우 String을 반환하고 매개 변수로 String을 사용합니다. 그러나 다음 메서드 참조가 잘못된 것으로 보입니다.
Function<String, String> function = String::concat; //wrong
Concat-Method는 String을 매개 변수로 사용하고 String을 반환합니다. 왜 그렇게 잘못 됐어?
누군가가 나에게 설명하기를 바랍니다.
질문은 실제로 기능 인터페이스가 아닌 메소드 참조에 관한 것입니다. https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html을 통해 읽어 볼 것을 권장합니다. 4 가지 유형의 메소드 참조와 약식 인 람다 식을 설명합니다. – sprinter