为什么Kotlin数据类对象有回溯



这是我使用Kotlin数据类创建者插件创建的数据类。

data class ResponseHealthInisghts(
val `data`: List<Data>,
val message: String,
val statusCode: Int
)

即使我删除了backticks,这段代码也能正常工作,我想知道这是否是为了Java互操作性。但这个变量不是关键字,但它也有反作用。为什么?基于为什么这个Kotlin方法有封闭的backticks?这个问题CCD_ 1是Java和Kotlin的关键字,但data不是。

您可以简单地使用backticks来封装类、方法或变量名

例如,如果有空格,它是有用的:

class `Final Frontier` {
fun `out of space`() {
val `first second`: String?
}
}

或者正如你提到的,如果使用Kotlin关键字

如果Java库对方法使用Kotlin关键字

foo.`is`(bar)

data是修饰符关键字

数据指示编译器为类生成规范成员以下标记在声明的修饰符列表中充当关键字,并且可以在其他上下文中用作标识符

并且不是不能用作标识符的硬关键字

以下令牌始终被解释为关键字,不能用作标识符

它允许您使用保留的关键字和运算符作为变量的名称。这些单词的列表:https://kotlinlang.org/docs/reference/keyword-reference.html

基于这个问题的答案为什么这个Kotlin方法有封闭的backticks?以及@forpas和@marstran的评论,我能够理解我的问题。

is关键字是硬关键字

硬关键字始终被解释为关键字,不能用作标识符:

因此,为了实现互操作性,我们需要使用backticks,因为Java和Kotlin都有is关键字。

其中data关键字仅在Kotlin中可用,也属于类别

软关键字在上下文中可用作关键字,并且可以在其他上下文中用作标识符。

所以我们可以使用它,也可以不使用它。

此外,作为一个额外的注意事项,您可以使用bacticks来自定义您的标识符

var `data is simple` : List<String>

如果显示皮棉错误,请使用

"文件|设置|编辑器|检查|非法的Android标识符"并禁用该检查。

相关内容

最新更新