在kotlin中如何签入方法

在kotlin中如何签入方法,kotlin,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() } 但是我不想在其他地方检查这个方法。 有没有办法在什么时候签入该方法?据

我写了下面的代码

 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
函数的签名是:


据我所知,你可以省略
else->consume{it}
部分
forEach
函数的签名是:


我问了这个问题,但我结合了回答的内容和我处理的内容,并附上了我试图做的结果

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)()       
}}}
var arr=arrayOf{“String”,{method()}
有趣的检查(arr:Array?{arr.forEach{when(it)){
是Int->println(“Int”)
is String->println(“str”)
else->@Suppress(“UNCHECKED_CAST”)(它作为()->单位)()
}}}

谢谢

我问了这个问题,但我把回答的内容和我处理的内容结合起来,并附上了我试图做的结果

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)()       
}}}
var arr=arrayOf{“String”,{method()}
有趣的检查(arr:Array?{arr.forEach{when(it)){
是Int->println(“Int”)
is String->println(“str”)
else->@Suppress(“UNCHECKED_CAST”)(它作为()->单位)()
}}}

谢谢

哦,对不起,这不是我想要的。我想知道如何用is这样的语法来区分方法。你说的
区分方法是什么意思?
?我把这个方法放入一个任意类型的数组中,我想使用这个方法,但是我不知道没有办法区分方法。所以你想知道数组的类型吗?例如,
Array
->
Int
Array
->
某物
?我似乎没有足够的解释。变量列表:数组?=对不起,这不是我想要的。我想知道如何用is这样的语法来区分方法。你说的
区分方法是什么意思?
?我把这个方法放入一个任意类型的数组中,我想使用这个方法,但是我不知道没有办法区分方法。所以你想知道数组的类型吗?例如,
Array
->
Int
Array
->
某物
?我似乎没有足够的解释。变量列表:数组?=阵列(1000,打印项次(10))
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)()       
}}}