gpt4 book ai didi

java - Kotlin 泛型转换为更具体的子类

转载 作者:行者123 更新时间:2023-11-30 00:32:04 27 4
gpt4 key购买 nike

所以我试图搞乱 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 类的 Any Presenter 的实例

关于java - Kotlin 泛型转换为更具体的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44137129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com