如何在kotlin中检查方法

我写了下面的代码。

fun check(list){ list.forEach{ when(it){ is Int -> something() is String -> something() //is method -> ??? else -> consume{it} }}} inline fun consume(f: () -> Unit){ f() } 

但我不想在其他方面检查方法。 有什么办法在什么时候检查方法?

2 Solutions collect form web for “如何在kotlin中检查方法”

据我所知,你可以忽略else -> consume{it}一部分。 forEach函数的签名如下 :

 inline fun <T> Iterable<T>.forEach(action: (T) -> Unit) 

看到action 。 它以Unit为输出。 这意味着你不需要返回任何东西( Unit是Java的void等价物)。

所以,总之你的代码可能是这样的:

 fun check(list: List<*>) { list.forEach { when (it) { is Int -> something() is String -> something() //is method -> ??? } } } 

我问了这个问题,但是我把答复的内容和我处理的内容结合起来,附上了我正在努力做的结果。

 var arr = arrayOf{"String", {method()}} fun check(arr : Array<Any?>?){ arr.forEach{ when(it){ is Int -> println("int") is String -> println("str") else -> @Suppress("UNCHECKED_CAST") (it as () -> Unit)() }}} 

谢谢

  • 将支持库更新到27.0.0后,我的片段中有多个错误
  • 在Kotlin支持棒棒糖
  • Kotlin链接收集功能的表现
  • 如何将字符串数组传递给android电子邮件意图
  • Gradle脚本Kotlin中的锅炉项目配置
  • 使用kapt Android Studio进行注释处理
  • Java通配符类型与Kotlin Star-projection
  • 如何在服务端获取数据的同时识别在android中下载的数据量
  • 智能转换为“类型”是不可能的,因为“变量”是一个可以改变的可变属性
  • 这个引用在kotlin扩展属性的lazy初始值设定中
  • Kotlin - 如何使外部类只读字段
  • Kotlin language will be the best programming language for Android.