In Kotlin we can do:

val arr = intArrayOf(1,2,3)
if (2 in arr)
   println("in list")

但是如果我想判断2 or 3是否在arr中,除了以下方法之外,最惯用的方法是什么:

if (2 in arr || 3 in arr)
   println("in list")

推荐答案

I'd use any() extension method:

arrayOf(1, 2, 3).any { it == 2 || it == 3 }

这样,只需遍历数组一次,就不会创建一个set实例来判断它是否为空(就像这个问题的另一个答案一样).

Kotlin相关问答推荐

如何在Kotlin中为两个数据类创建可重用的方法?

在intellij中使用kotlin符号和floordiv

Kotlin中函数引用的否定

Spring Boot 3:为Kotlin中的TestRestTemplate配置读取超时

在Kotlin项目中使用Free Fair AspectJ插件(使用Gradle)

如何在 kotlin 中的数据类中为变量提供多种类型

为什么会出现Kotlin.Unit错误以及如何修复它?

使用 LazyListScope 嵌套可组合项

如何在 Compose 中创建可重用的修饰符?

Kotlin 中获取类简单名称的最佳实践

compareBy 如何使用布尔表达式在 kotlin 中工作

Koin Android:org.koin.error.NoBeanDefFoundException

为什么我在使用 Jetpack Compose clickable-Modifier 时收到后端内部错误:Exception during IR lowering error?

Kotlin协程处理错误和实现

Kotlin使用运行时断言进行空判断?

从片段(fragment)中的点击事件启动协同程序

如何根据ArrayList的对象属性值从中获取最小/最大值?

在 Kotlin 中声明 Byte 会出现编译时错误The integer literal does not conform to the expected type Byte

Kotlin中的嵌套let块

如何判断数据是否插入到房间数据库中