Kotlinのそのコードと同等のものは何ですか、私が試したものは何も動作しないようです:
public interface AnInterface {
void doSmth(MyClass inst, int num);
}
その中に:
AnInterface impl = (inst, num) -> {
//...
}
AnInterface
がJavaの場合、 SAM変換 を使用できます。
val impl = AnInterface { inst, num ->
//...
}
それ以外の場合、インターフェイスがKotlinの場合...
interface AnInterface {
fun doSmth(inst: MyClass, num: Int)
}
... object
構文を使用して、匿名で実装できます。
val impl = object : AnInterface {
override fun doSmth(inst:, num: Int) {
//...
}
}
インターフェイスとその実装の両方をKotlinに書き換える場合は、インターフェイスを削除して機能タイプを使用するだけです。
val impl: (MyClass, Int) -> Unit = { inst, num -> ... }
オブジェクト式 を使用できます
したがって、次のようになります。
val impl = object : AnInterface {
override fun(doSmth: Any, num: Int) {
TODO()
}
}