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:



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

最佳答案

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

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

08-05 13:40