在Kotlin中,您可以创建一个数据类:
data class CountriesResponse(
val count: Int,
val countries: List,
val error: String)
然后您可以使用它来解析JSON,例如“{n:10}”.在这种情况下,您将拥有一个对象val国家:CountriesResponse,从Retrofit,Fuel或Gson接收,包含以下值:count = 0,countries = null,error = null.
当您稍后尝试使用国家/地区时,您将在此处获得一个例外:val size = countries.countries.size:“kotlin.TypeCastException:null无法转换为非null类型kotlin.Int”.如果你编写代码并使用?访问这些字段时,Android Studio会突出显示?并警告:对List< Country>类型的非null接收器进行不必要的安全调用.
那么,我们应该使用吗?在数据类?为什么应用程序在运行时期间可以将null设置为非可空变量?