2017-09-12 220 views
-3

为什么这个错误在Android Studio中的错误?我有科特林

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不能转换为非null类型kotlin.String at com.getloction.nourmedhat.smartgate.getlocation.All_Station $ onCreate $ 2.onDataChange(All_Station.kt:56) at 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) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6682) at java .lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main(ZygoteInit。 java:1410)

+1

发布您的代码,你所面临的问题 –

+2

日志解释很清楚:** TypeCastException:空不能被强制转换成非空型科特林** – AlexTa

+0

它说,你的'String'是'null'。你应该声明它是'String?' –

回答

0

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

在科特林类型是“@NotNull”默认情况下。所以如果你声明这样一个变量:

var yourVar: String 

你不能给它赋空值。如果它应该是能够存储null的(它通常不应该)声明它是这样的:

var yourVar: String? = null