Kotlin通用铸造到一个更具体的子类
所以我试图搞砸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 }
有没有什么我可以做,而不需要在基础界面中修改泛型?
根据我对你的问题的理解,你可以这样做,
override fun <P: BaseContract.Presenter> getPresenter(): P { return mPresenter }
其中,mPresenter可以是任何展示者扩展BaseContract.Presenter
类的实例