问题标签 [kotlin-null-safety]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - Kotlin 零安全性?
让我们有一个函数foo
和一个类Bar
:
现在,让我们来看看代码:
问题是这段代码无法编译。由于它需要Bar(x!!, y!!)
.
但是,当我用其内容替换该功能时,!!
就不需要了。
为什么无法从函数中解决空检查.isNotEmpty()
?
null - kotlin function returning null
I am trying some android development with kotlin. In my case I want to overwrite: ContentProvider where I have to overwrite the function "query". "query" returns "Cursor" type. However, when I create the Cursor instance in the function with database.query I get back a "Cursor?" type. So I can only return Cursor if it is not null, but what do I do if it is null?
This is what it basically looks like:
Any Ideas how to solve that?
Thanks, Sven
UPDATE First of all thanks for the answers.
Annotation seems not to work in my case as I can only access the compiled code and I dont get the option to annotate the source. Maybe I am missing something here.
Implementing my own cursor Seems like overkill especially if I have to do it every time that problem occurs.
So it seems my only option is to return cursor!! But I dont know how exactly to do it. My code is a bit more complicated than in my example, I missed a when statement. This is an updated version:
Do I really have to implement my own cursor and clutter my code with useless "throw UnsupportedExceptions"?
kotlin - 在 Kotlin 中处理可为空或空列表的惯用方式
假设我有一个activities
type变量List<Any>?
。如果列表不为空且不为空,我想做点什么,否则我想做点别的。我想出了以下解决方案:
在 Kotlin 中是否有更惯用的方法来做到这一点?
kotlin - 空检查后Kotlin“可空接收器上的不安全调用”编译错误
这是错误的屏幕截图:
我正在使用 Intellij v14.0.1 + Kotlin 插件 v0.9.206。我的理解是,在空检查之后,编译器不应该向我显示错误。我错了吗?
kotlin - What is the Kotlin double-bang (!!) operator?
I'm converting Java to Kotlin with Android Studio. I get double bang after the instance variable. What is the double bang and more importantly where is this documented?
android - Kotlin - lateinit VS 任何?=空
在 Kotlin 中,似乎有两种方法可以在对象内部声明一个变量,该变量可以为 null 并在对象创建后实例化。
或者
如果我们可以让 var 可以为空并稍后分配它,我对为什么需要 lateinit 关键字感到困惑。每种方法的优缺点是什么,每种方法应该在什么情况下使用?
reflection - kotlin 反射检查可空类型
如何测试 KType 变量是否包含可为空的 kotlin 类型的值(eG Int?)?
我有
来自 a 的变量KProperty<*>.returnType
,我需要检测它是否等于某些 kotlin 类型(Int、Long 等)。这适用于:
但这仅适用于不可为空的类型,因此第一个分支与 Int 不匹配?但是我还无法弄清楚如何检测类型是 Int?除了明显但不是很好
kotlin - 在 Kotlin 中进行空检查的最佳方法?
我应该使用双倍=
还是三倍=
?
或者
同样对于“不等于”:
或者
kotlin - 使用 Map (Kotlin) 时出现空指针异常
我有以下课程:
类条目看起来像这样:
主要的:
当我运行程序并尝试使用“定义”功能时,我收到以下错误:
我认为这个问题与我如何创建一个新的 symbolTable 类有关,但是看到 Kotlin 没有“新”,我不知道如何避免空指针异常。
java - 如何在 Android Activity 上使用 Kotlin 扩展函数正确进行空值检查
我是 Kotlin 的新手,并试图将我们现有代码库中的众多 Android Util 方法之一转换为 Kotlin 扩展函数。
这是 Kotlin 代码:
这意味着相当于这个Java方法:
但是,只要is ,我仍然NPEs
会输入 Kotlin 代码。关于我要去哪里错的任何想法?Activity
null