Lambda在Kotlin中使用通配符
我正在看谷歌提供的例子,并遇到这条线
private final ArrayMap<Class, Callable<? extends ViewModel>> creators;
我有困难搞清楚如何转换Callable<? extends ViewModel>
Callable<? extends ViewModel>
为Kotlin中的lambda
我怎么去做这个?
编辑:
class ViewModelFactory(appComponent: AppComponent) : ViewModelProvider.Factory { private val creators: ArrayMap<Class<*>, () -> ViewModel> = ArrayMap() init { creators.put(DashboardViewModel::class.java, { appComponent.getDashboardViewModel() }) } override fun <T : ViewModel?> create(modelClass: Class<T>?): T = creators[modelClass]?.invoke() as T }
在上面的代码中,我在我的IDE中得到了一个未经检查的转换lint消息。 有没有办法避免这种情况?