首页 > 解决方案 > 我想从数组转换到数组?

问题描述

我有这个String数组:

var parsedWeatherData: Array<String>?

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

val weatherArray = forecastJson.getJSONArray(OWM_LIST)
parsedWeatherData = arrayOfNulls<String>(weatherArray.length())

错误是parsedWeatherDatarequiresArray<String>?而不是Array<String?>. 如何将值从 更改arrayOfNulls()为 type Array<String>?

标签: androidkotlin

解决方案


Array<String>?基本上意味着这将是一个空值或一个字符串数组。

Array<String?>表示数组将包含 null 或 String 值。

如果您确定以后不会为其分配空值,您将更好地更改parsedWeatherDatato的类型。Array<String?>如果你想让它保持原样,Array<String>?那么你可以使用

parsedWeatherData = weatherArray.map { it }.toTypedArray()

推荐阅读