我想创建一个地图,其中一个键是一个对象,一个值是许多对象,有些包含泛型。在Kotlin有一个简洁的方法吗?我过去曾使用过数据类,但还没有找到一种方法来使用泛型。
谢谢!
编辑:以下是一个例子:
class SomeClass<E> {
data class Data(val str: String, val int: Int, val e: E) //the last value is invalid
val map: MutableMap<String, Data> = mutableMapOf()
}
答案 0 :(得分:2)
根据您的示例,这应该适合您。
data class Data<E>(val str: String, val int: Int, val e: E)
class SomeClass<E> {
val map: MutableMap<String, Data<E>> = mutableMapOf()
}
我将Data
定义为外部泛型类,并在实际类中使用它。
编辑:实际上,您甚至不需要将数据类移到外部类之外:
class SomeClass<E> {
data class Data<T>(val str: String, val int: Int, val e: T)
val map: MutableMap<String, Data<E>> = mutableMapOf()
}