如何在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() } 

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

据我所知,你可以忽略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)() }}} 

谢谢