class SomeClass: ThirdPartyBaseClass {
private var someValue: AnotherType<String>? = null
override fun initialize(param1: AType?, param2: AnotherType<*>?) {
this.someValue = param2
}
}
当我 override
从 ThirdPartyBaseClass
初始化方法, Android Studio autocomplete 添加上面的签名。 AnotherType
基本上是一个通用类型(来自第 3 部分库),'T' 需要是 'String' 才能使用它。问题是我无法分配 param2
至 someValue
因为我收到错误:
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/