为什么会出现这个错误?
09-12 16:36:31.502 1886-1886/com.getloction.nourmedhat.smartgate.getlocation E/AndroidRuntime:致命异常:main
进程:com.getloction.nourmedhat.smartgate.getlocation,PID:1886
kotlin.TypeCastException:null 无法转换为非 null 类型 kotlin.String
在 com.getloction.nourmedhat.smartgate.getlocation.All_Station$onCreate$2.onDataChange(All_Station.kt:56)
在 com.google.android.gms.internal.to.zza(来源未知)
在 com.google.android.gms.internal.vj.zzHX(来源未知)
在 com.google.android.gms.internal.vp.run(来源未知)
在 android.os.Handler.handleCallback(Handler.java:751)
在 android.os.Handler.dispatchMessage(Handler.java:95)
在 android.os.Looper.loop(Looper.java:154)
在 android.app.ActivityThread.main(ActivityThread.java:6682)
在 java.lang.reflect.Method.invoke(本机方法)
在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
正如 AlexTa 所评论的,你得到了TypeCastException
因为你投了null
为非空类型。
在 Kotlin 中,类型默认为“@NotNull”。所以如果你声明一个这样的变量:
var yourVar: String
你不能给它分配 null 。如果它应该能够存储null
(通常不应该)你可以像这样声明它:
var yourVar: String? = null
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)