所以我试图搞乱Kotlin,我有一个旧的java MVP框架,在java中有一些不好的泛型,我们必须将一个通用接口转换为更具体的接口,比如
public <P extends BaseContract.Presenter> P getPresenter()
我们将在子类中转换为
@Override
public AdvertisementContract.Presenter getPresenter()
{
return (AdvertisementContract.Presenter)super.getPresenter();
}
在Kotlin我会这样做:
override fun getPresenter(): AdvertisementContract.Presenter
{
return super.getPresenter() as AdvertisementContract.Presenter
}
如果不修复基本界面中的泛型,我能做些什么吗?
答案 0 :(得分:1)
根据我对你的问题的理解,你可以这样做,
override fun <P: BaseContract.Presenter> getPresenter(): P {
return mPresenter
}
其中mPresenter可以是扩展BaseContract.Presenter
类