我在android工作室与kotlin错误

为什么这个错误?

09-12 16:36:31.502 1886-1886 / com.getloction.nourmedhat.smartgate.getlocation E / AndroidRuntime:致命异常:主进程:com.getloction.nourmedhat.smartgate.getlocation,PID:1886 kotlin.TypeCastException:null不能在com.google.android.gms.internal.to.zza(未知)上的com.getloction.nourmedhat.smartgate.getlocation.All_Station $ onCreate $ 2.onDataChange(All_Station.kt:56)中将其转换为非null类型的kotlin.String源)在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 。com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1520)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:.zip).lang.reflect.Method.invoke(Native Method) 1410)

正如AlexTa所评论的那样,您将得到一个TypeCastException因为您将null转换为非null类型。

Kotlin类型默认为“@NotNull”。 所以如果你声明这样一个变量:

 var yourVar: String 

你不能给它分配null。 如果它应该能够存储null (它通常不应该)你宣布它是这样的:

 var yourVar: String? = null