我正在使用Mockito-kotlin在Android上开发单元测试。
我试图监视一个函数,所以我做了下面的代码来做到这一点,并且效果很好。
在这种情况下,AndroidStudio指出不需要进行强制类型转换,但是当删除强制类型转换时,类型将更改为Foo而不是Foo-> Unit:
private val onClick /*:(Foo) -> Unit*/ = spy({ foo: Foo -> } as (Foo) -> Unit)
private val onClick /*:(Foo) -> Unit*/ = { foo: Foo -> }
private val onClick /*:Foo*/ = spy({ foo: Foo -> })
编译器如何得出类型为Foo的结论,以及如何编写代码以避免不必要的强制转换警告?