Kotlin ArrayList不会使用'add'方法附加对象

时间:2019-07-13 16:01:23

标签: arraylist kotlin

当尝试将自定义对象“添加”到ArrayList时,ArrayList保持为空

除其他外,我尝试使用MutableLists修改数据类初始化

这是我正在使用的数据类:

data class WYRStatistics(val team: String, val league: String, val gp: String, val g: String, val a: String, val pt: String, val pim: String, val pm: String)

这是我使用数据类在对象上构造并尝试将对象添加到ArrayList的地方

var n = 0
        var statsArr: ArrayList<WYRStatistics>? = null

        while (n < tempStats.length()) {

            val statObject = tempStats.getJSONObject(n)

            val singleStat = WYRStatistics(statObject.getString("Team"),
                                statObject.getString("League"),
                                statObject.getString("GamesPlayed"),
                                statObject.getString("Goals"),
                                statObject.getString("Assists"),
                                statObject.getString("Points"),
                                statObject.getString("PenaltyMinutes"),
                                statObject.getString("PlusMinus")
                            )
            println(singleStat)
            statsArr?.add(singleStat)
            println(statsArr)
            tempPlayer.stats?.add(singleStat)
            println(tempPlayer)
            n++
        }

利用位于处理解码JSON异步任务的函数内部。一切正常。

tempStats是一个JSONArray-打印时格式正确

当我println singleStat时,对象被正确打印

但是,当我将singleStat添加到statsArr时,statsArr返回null

1 个答案:

答案 0 :(得分:0)

您正在将arrayList初始化为null,如JB所述。

正确的方法应该是

val statsArr =  arrayListOf<WYRStatistics>()