Kotlin 通知中的“何时”语法问题

问题描述 投票:0回答:2

lol 所以我覆盖了 Notification 并且它有一个变量'when'

when documentation

但是,在我覆盖的通知中,当我尝试设置什么时候 当 = 5.toLong() 它会扰乱编译器,因为“何时”是一个在 kotlin 语法中表示某种含义的词。 为什么为什么要解决? 他们为什么那样做,大声笑? 什么是解决方案?

kotlin variables syntax notifications
2个回答
0
投票

如果我没有正确理解你的问题,你想知道如何在 Kotlin 中引用

when
类的
Notification
属性(记录在 here 中)。因为
Notification
的 Android API 是用 Java 编写的,所以它可以使用
when
作为变量名的标记。但是,正如您所指出的,Kotlin 有一个保留关键字
when
作为类似于
if ... else if
的逻辑块。为了引用 Java 定义的
when
属性,您必须使用 escaping 作为 Kotlin 中的关键字的 Java 标识符,在本例中为
`when`
.


-1
投票

他们为什么那样做,哈哈?

根据您发布的文档截图,API 级别 1 中添加了 Notification 的

when
属性。那是大约 2009 年。早在 Kotlin 中的
when
或 Kotlin 本身甚至存在之前。哈哈

什么是解决方案?

遵循文档并使用具有setWhen方法的Builder类。罗夫

或者 了解转义作为 Kotlin 关键字的 Java 变量。喵

© www.soinside.com 2019 - 2024. All rights reserved.