繁体   English   中英

Kotlin 运营商,它,是,

[英]Kotlin operators in, it, is,

我是 Kotlin 的菜鸟,这三个运算符之间没有区别,它们之间有什么关系吗? 它们与 Java 相比如何?

不,它们之间没有直接联系,除了在 Kotlin 中是 2 个字母的关键字。

它们用于不同的事情:

  • in用于测试一个 object 是否包含在另一个中(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用于测试 object 是否属于给定类型(与 Java 中的instanceof相同):

     if (s is String) …

正如@Adrian 所说, Kotlin 参考文档中解释了所有关键字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM