this@MainActivity 与 Kotlin 中的 MainActivity@this

this@MainActivity vs MainActivity@this in kotlin

如你所见

this@MainActivityMainActivity@this

在 kotlin 中启动 activity 时有效。我试图找出答案,但我什么也没找到。谁能知道它的确切区别以及哪个有效?为什么它允许两者?

this@MainActivity - 它是对当前 MainActivity 实例的引用。

MainActivity@this - 这是标签名称的定义,即 MainActivity.

More info about labels.

根据Kotlin's Grammar documentation

MainActivity@this 只是 this 的标签,名称为 "MainActivity"。你可以设置任何你想要的标签。

this@MainActivity 是 this 来自 MainActivity

的实际引用

希望我说清楚。