[英]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.