2017-09-12 157 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