2017-10-25 27 views
2

컴파일러가 단 하나의 매개 변수로 메소드의 유형을 파악할 수있는 경우 왜 두 개의 매개 변수가있는 메소드 또는 동일한 메소드를 매개 변수의 순서로 추가 할 수 없는지 이유는 무엇입니까? 여기왜 Java Lambda Type Inference는 유일한 매개 변수가있는 메서드 만 처리합니까?

예 :

컴파일이 str을 str2가도 문자열 (고유 한 방법 첫 번째 매개 변수이며, 알아낼 수없는 이유 다른 방법으로 enter image description here

은 문자열입니다 ? (독특한 방법 두 번째 매개 변수)

+3

'(str, str2) -> str.length()'? – Eugene

+0

'Processor stringProcessor = (str1, str2) -> str1.length();'는'str1'과'str2'를'String'으로 올바르게 추론 할 수 있습니다. –

+1

@Eugene it works :) thanks – Aguid

답변

4

것 같다 당신이 올바르게 정의되지 않습니다

(str, str2) -> str.length() 

두 번째 예제도 컴파일 타임 오류가 발생합니다.