gpt4 book ai didi

android-studio - Kotlin 'when'-如何在Android Studio中获得 Lint 警告

转载 作者:行者123 更新时间:2023-12-02 13:21:12 25 4
gpt4 key购买 nike

所以我的应用程序中有很多枚举,在通话时会在kotlins中使用。

例如我的枚举类

enum class MyFancyEnum {
TYPE_A,TYPE_B, TYPE_C
}

用于这样的事情:
when (it){
TYPE_A -> { ... }
}

如果我忘记区分所有分支,我需要的是警告(甚至更好的错误)。

我可以看到,编译器已经突出显示了这一点,并在其上移动了光标,我得到一条类似于该消息:

'when' expression on enum is recommended to be exhaustive, add '...' branch or 'else' branch instead



但是,Android Studio中对此没有任何检查。 (对于Java来说似乎是交换情况,但对于Kotlin则没有类似的情况)。

问题:
万一在when表达式中忘记了一个分支,如何获得Lint警告/错误?

最佳答案

这是注释中建议的解决方法:在.also{}表达式的末尾添加一个空的when运算符。

 when (it){
TYPE_A -> { ... }
}.also{}

这个技巧利用了Kotlin编译器本身,如果有人使用 when表达式的结果,则它需要覆盖 when() { .. }的所有分支。由于 .also{}技术上使用 when的结果,因此会触发编译器错误。

关于android-studio - Kotlin 'when'-如何在Android Studio中获得 Lint 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56424564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com