提问者:小点点

我想从数组<String?>转换为数组<String>?


你好,我有这个字符串数组:


    var parsedWeatherData: Array<String>?

并且我想使用以下代码从JSON文件中添加一些天气数据:

val weatherArray = forecastJson.getJSONArray(OWM_LIST)

    parsedWeatherData = arrayOfNulls<String>(weatherArray.length())

错误是parsedWeatherData需要数组?不是数组;如何将arrayOfNulls更改为Array?根据我的班级返回要求

谢谢。。


共1个答案

匿名用户

函数ArrayOfNulls()返回具有给定大小的String类型的对象数组,并用null值初始化。
因此ParsedWeatherData显然是一个数组<;String?>,因为值为null。

如果您需要数组数组,则需要确保数组中包含的所有字符串都不为空。

如果认为你应该这样做:

parsedWeatherData = arrayOf<String>(weatherArray.length())
for (i in 0 until weatherArray.length()) {
    //this depends on your data
    val item = weatherArray.getString(i)

    parsedWeatherData[i] = item
}