因此,我试图弄乱Kotlin,并且我有一个旧的Java MVP框架,其中包含Java中较差的泛型,其中我们不得不将泛型接口(interface)转换为更具体的接口(interface),例如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
}

在固定基本接口(interface)中的泛型之前,我能做些什么?

最佳答案

根据我对您问题的理解,您可以这样做

override fun <P: BaseContract.Presenter> getPresenter(): P {
    return mPresenter
}

其中mPresenter可以是任何扩展BaseContract.Presenter类的Presenter的实例

07-26 00:28