当我将Java转换为Kotlin时,我收到了这个错误:
爪哇
public class HeaderTab extends ExpandableGroup {
private String header;
public HeaderTab(String title, List items) {
super(title, items);
}
}
科特林
class HeaderTab(title: String, items: List<*>) : ExpandableGroup<*>(title, items) {
private val header: String? = null
}
Android Studio说:
对于超类型的立即参数,不允许投影
我需要在这里修改什么?
答案 0 :(得分:9)
使用Any
进行快速修复,或引入类型参数以确保您不会破坏图书馆的类型安全。
class HeaderTab(title: String, items: List<*>) : ExpandableGroup<Any>(title, items) {
或
class HeaderTab<E>(title: String, items: List<E>) : ExpandableGroup<E>(title, items) {
问题是kotlin需要完全指定类类型,因此您可以将特定类型指定为类型参数,也可以传递新的类型参数。