Kotlin 运营商在,它,是,
Kotlin operators in, it, is,
我是Kotlin新手,我分不清这三个运算符,它们之间有什么关系吗?他们与 Java 相比如何?
不,它们之间没有直接联系,除了在 Kotlin 中是 2 个字母的关键字。
它们用于不同的事情:
in
用于测试一个对象是否包含在另一个对象中(Java中contains()
的语法糖):
if (someObject in someList) …
在遍历集合时也使用它(其中 Java 仅使用 :
):
for (item in someList) …
并指定类型参数是逆变的(其中 Java 将使用 ? super
):
interface List<out E>
it
用在只接受一个参数的 lambda 表达式中,以一种简洁的方式引用参数,而不必给它一个名称(没有直接 Java 等效):
someList.filter{ it < 10 }
is
用于判断一个对象是否属于给定类型(与Java中的instanceof
相同):
if (s is String) …
正如@Adrian 所说,所有关键字都在 Kotlin reference 文档中进行了解释。
我是Kotlin新手,我分不清这三个运算符,它们之间有什么关系吗?他们与 Java 相比如何?
不,它们之间没有直接联系,除了在 Kotlin 中是 2 个字母的关键字。
它们用于不同的事情:
in
用于测试一个对象是否包含在另一个对象中(Java中contains()
的语法糖):if (someObject in someList) …
在遍历集合时也使用它(其中 Java 仅使用
:
):for (item in someList) …
并指定类型参数是逆变的(其中 Java 将使用
? super
):interface List<out E>
it
用在只接受一个参数的 lambda 表达式中,以一种简洁的方式引用参数,而不必给它一个名称(没有直接 Java 等效):someList.filter{ it < 10 }
is
用于判断一个对象是否属于给定类型(与Java中的instanceof
相同):if (s is String) …
正如@Adrian 所说,所有关键字都在 Kotlin reference 文档中进行了解释。