在Kotlin中使用通用类型初始化数组

时间:2019-03-31 00:31:40

标签: arrays kotlin stack

我想使用Kotlin实现shell.openExternal(event.target.href);数据结构。我想使用stack数组来创建任何数据类型的堆栈。我不确定如何正确初始化数组。每次都显示不同类型的错误。也无法弄清楚如何使用generic。任何帮助将不胜感激。

List<T>

1 个答案:

答案 0 :(得分:0)

class StackADT<T>(var capacity: Int) {

    private var top = -1
    private val stack: ArrayList<T> = ArrayList(capacity)

    fun push(element: T) {
        if (top == capacity)
            throw Exception("Overflow occurred in stack!!")
        top++
        stack.add(element)
    }
    ...

您可以在此处进行测试:Kotlin Playground

另一种方式:

var stack = arrayOfNulls<Any?>(capacity) as Array<T>