2016-04-08 30 views
9

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 
    } 
} 

cevap

İlgili konular