class SomeClass: ThirdPartyBaseClass {
private var someValue: AnotherType<String>? = null
override fun initialize(param1: AType?, param2: AnotherType<*>?) {
this.someValue = param2
}
}
当我从override
ThirdPartyBaseClass
初始化方法时,Android Studio自动完成功能会在上面添加签名。 AnotherType
基本上是通用类型(来自lib的第三部分),'T'必须为'String',我才能使用它。问题是我无法将param2
分配给someValue
,因为出现错误:
type mismatch: required AnotherType<String>? found: AnotherType<*>?.
解决此问题的正确方法是什么?
答案 0 :(得分:1)
您必须使用类型转换来实现此目的。试试:
override fun initialize(param1: AType?, param2: AnotherType<*>?) {
this.someValue = param2 as AnotherType<String>?
}