gpt4 book ai didi

android - 如何从参数类型为 SomeType<*> 的 kotlin 重写 java 中的方法?但需要分配给 SomeType

转载 作者:行者123 更新时间:2023-11-29 00:51:59 25 4
gpt4 key购买 nike

class SomeClass: ThirdPartyBaseClass {
private var someValue: AnotherType<String>? = null

override fun initialize(param1: AType?, param2: AnotherType<*>?) {
this.someValue = param2
}
}

当我 overrideThirdPartyBaseClass 初始化方法, Android Studio autocomplete 添加上面的签名。 AnotherType基本上是一个通用类型(来自第 3 部分库),'T' 需要是 'String' 才能使用它。问题是我无法分配 param2someValue因为我收到错误:

type mismatch: required AnotherType<String>? found: AnotherType<*>?.

解决这个问题的正确方法是什么?

最佳答案

您必须使用类型转换来实现此目的。尝试:

override fun initialize(param1: AType?, param2: AnotherType<*>?) {
this.someValue = param2 as AnotherType<String>?
}

关于android - 如何从参数类型为 SomeType<*> 的 kotlin 重写 java 中的方法?但需要分配给 SomeType<String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58628736/

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