Ich habe eine Funktion in KotlinWie deklariere Parameter als Funktion ohne Rückgabewert?
fun printExecutionTime(block:() -> Any) {
run {
val currentTimeMillis = System.currentTimeMillis()
block()
Logr.d("Execution time of " + block.javaClass.name + " -> " + System.currentTimeMillis().minus(currentTimeMillis))
}
}
In Java-Code, ich nichtig Referenzfunktion als Parameter übergeben wollen, können aber nicht bcs der Rückgabewert
PerformanceKt.printExecutionTime(this::voidFunc);
Eine Möglichkeit, mehr verwenden zu Schnittstelle
interface Action {
fun call()
}
Ist es möglich, es in Kotlin ohne eine zusätzliche Schnittstelle zu deklarieren, so dass der obige Code funktioniert?
bist du dir sicher? 'Unit' unterstützt nur den Rückgabetyp der Funktion, unterstützt keine Parameter. Tatsächlich ist es tatsächlich ein generischer Parameter von 'Function0', so dass Sie das Problem des OP nicht lösen können. –
Ja, ich habe schon herausgefunden, was das Problem ist, danke. –