在 Kotlin 中,this 和 it 是两个关键字,用于引用不同的对象。
-
this 关键字:
-
在类或对象中,this 关键字引用当前对象本身。
-
在 Lambda 表达式中,this 关键字引用包含该 Lambda 的类实例。
class MyClass {private val value: Int = 42fun printValue() {println("值为 $value")println("当前对象:$this")}}val obj = MyClass()obj.printValue()
-
在这个示例中,我们定义了一个名为 MyClass 的类,并在 printValue 方法中使用了 this 关键字。当我们创建 MyClass 实例并调用 printValue 方法时,它将输出当前对象的值和引用。
-
it 关键字:
-
在 Lambda 表达式中,it 关键字引用接受 Lambda 参数的对象。当只有一个参数时,可以使用 it 关键字省略参数名。
val list = listOf("Apple", "Banana", "Orange")list.forEach {println("当前元素:$it")}
-
在这个示例中,我们定义了一个名为 list 的列表,并使用 forEach 函数遍历列表。我们在 Lambda 表达式中使用了 it 关键字打印当前元素的值。
总结一下:
- this 关键字主要用于引用当前对象本身或包含 Lambda 的类实例。
- it 关键字主要用于引用接受 Lambda 参数的对象。