我在Kotlin的Android Studio中出错 [英] i have error in android studio with kotlin

查看:174
本文介绍了我在Kotlin的Android Studio中出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么会出现此错误?

why this error?

09-12 16:36:31.502 1886-1886/com.getloction.nourmedhat.smartgate.getlocation E/Android运行时:致命异常:主要 流程: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)

09-12 16:36:31.502 1886-1886/com.getloction.nourmedhat.smartgate.getlocation E/AndroidRuntime: FATAL EXCEPTION: main Process: com.getloction.nourmedhat.smartgate.getlocation, PID: 1886 kotlin.TypeCastException: null cannot be cast to non-null type 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(Unknown Source) at com.google.android.gms.internal.vj.zzHX(Unknown Source) at com.google.android.gms.internal.vp.run(Unknown Source) at 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)

推荐答案

正如AlexTa所说,由于将null转换为非null类型,所以得到了TypeCastException.

As commented by AlexTa you're getting a TypeCastException because you cast null to a non-null type.

在Kotlin中,默认类型为"@NotNull".因此,如果您声明这样的变量:

In Kotlin types are "@NotNull" by default. So if you declare a variable like this:

var yourVar: String

您不能为其分配null.如果它应该能够存储null(通常不应该),则可以这样声明:

you cannot assign null to it. If it should be capable of storing null (which it often shouldn't) you declare it like this:

var yourVar: String? = null

这篇关于我在Kotlin的Android Studio中出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆