使用包含泛型的值创建地图

时间:2017-02-28 02:20:35

标签: kotlin

我想创建一个地图,其中一个键是一个对象,一个值是许多对象,有些包含泛型。在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()

}

1 个答案:

答案 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()

}