簡體   English   中英

在kotlin中使用泛型類型初始化數組

[英]Initialize array with generic type in kotlin

我想用kotlin實現stack數據結構。 我想使用generic數組,以便創建任何數據類型的堆棧。 我不確定如何正確初始化數組。 它每次都顯示不同類型的錯誤。 也無法弄清楚如何使用List<T> 任何形式的幫助將不勝感激。

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

    private var top = -1
    private val stack:  (generic type array)//NEED TO INITIALIZE PROPERLY HERE 

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

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游樂場

其他方式:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM