4
내가 방법 유형 (String, String) -> Int
의 변수 x
에 자바 방법 Log.d(String, String)
을 할당 할 말 나는 이런 식으로 작업을 수행합니다메소드 참조에서 오버로드 모호성을 해결하는 방법은 무엇입니까?
val x: (String, String) -> Int = android.util.Log::d
컴파일러는 말한다 :
Error:(50, 56) Overload resolution ambiguity:
public open fun d(tag: kotlin.String!, msg: kotlin.String!): kotlin.Int defined in android.util.Log
public open fun d(tag: kotlin.String!, msg: kotlin.String!, tr: kotlin.Throwable!): kotlin.Int defined in android.util.Log
은 분명히 두 번째 방법이있다 Log.d(String, String, Throwable)
하지만 내가 원하는 컴파일러를 어떻게 알 수 있습니까?
감사합니다 안드레이 :
는 해결 방법으로, 당신은 람다 식을 사용할 수 있습니다. 변수 유형 (Java 8과 비슷 함)을 기반으로 유추 된 모호성 제거를 기대할 수 있습니까? –
@cypressious, 예, 확신 –
이 호에 대한 뉴스는 누구입니까? – fredoverflow