次の Java クラスを検討してください。
public class SomeClass {
public interface Something {
void doSomething();
}
public void call(Something something) {}
}
Kotlin では、次のようにラムダ式を使用できます。
SomeClass().call {
// do something
}
しかし、Kotlin で (同じインターフェースを使用して) 次のメソッドを定義すると:
fun call(something: Something) {}
次に、この呼び出し:
call {
// do something
}
型の不一致エラーが発生します。なんで?