ile lambda'da SAM-yapıcı Değiştirme Ancak, IntelliJ, SAM kurucusunun bir lambda ile değiştirilebileceği konusunda bir uyarı verir. Bu, ikinci ifadeye neden olur. Ancak, bu ikinci deyim, it
, Any?
, A
değil, çünkü derleme, derleme değil. out
değiştiricisini kaldırmak, yeniden derlemesini sağlar.Ben aşağıdaki Java arabirimleri var eşdeğişkin tip
Bu neden oluyor?
class B : A {
override fun go() {
TODO()
}
}
class MainImp : Main() {
override fun a(): Test<out A> {
val value: Test<B> = object : Test<B> {
override fun test(action: Action1<in B>?) {
TODO()
}
};
return value
}
}