如何在kotlin中使用self类型参数作为接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在kotlin中使用self类型参数作为接口相关的知识,希望对你有一定的参考价值。
我有一个带有Self类型参数的类Element
interface Element<Self: Element<Self>> {
val rules: Set<(Self) -> Boolean>
}
我现在如何创建一个List with Element作为类型参数,因为以下当然不起作用。
val list: List<Element>
提前致谢
答案
发生的错误是你缺少“<*>”,它应该是这样的:
val list: List<Element<*>>
但我建议您根据文档使用MutableList:
列表:通用的有序元素集合。此接口中的方法仅允许对列表进行只读访问;通过MutableList接口支持读/写访问。
MutableList:支持添加和删除元素的通用有序元素集合。
您的列表应如下所示:
var myList: MutableList<Element<*>> = mutableListOf<Element<*>>()
以上是关于如何在kotlin中使用self类型参数作为接口的主要内容,如果未能解决你的问题,请参考以下文章
将类类型作为参数传递并针对 Kotlin 中的另一个对象检查类型
Kotlin函数 ⑧ ( 函数引用 作为函数参数 | ::函数名 | 函数类型 作为函数返回值类型 )