kotlin - 如何在Kotlin中将可变数量的函数作为参数传递?

标签 kotlin

我是Kotlin的新手,我正在尝试重构Kotlin中的一些代码。

我有这段代码,我在多个地方调用,而我想调用一个函数

Mockito.`when`(mockedSkillMaxCountRepository.getSkillMaxCount()).thenReturn(
     SkillMaxCount(count = 65),
     SkillMaxCount(count = 65)
)

我想做这样的事情,其中​​参数的数量可以是任何数量
mockSkillMaxCount(SkillMaxCount(count = 65), SkillMaxCount(count = 65),...)

private fun mockSkillMaxCount(SkillMaxCount(count = 65),SkillMaxCount(count = 65),...){       
     Mockito.`when`(mockedSkillMaxCountRepository.getSkillMaxCount()).thenReturn(params)
}

最佳答案

您可以使用vararg修饰符:

private fun mockSkillMaxCount(vararg skills: SkillMaxCount) {
    Mockito.`when`(mockedSkillMaxCountRepository.getSkillMaxCount()).thenReturn(*skills)
}

关于kotlin - 如何在Kotlin中将可变数量的函数作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57778750/

相关文章:

kotlin - 上下循环

android - 如何将本地 aar 依赖项添加到 bintray 发布的库中?

java - 如何将参数 "t"替换为 "className"?

android - 无法使用导入到 AndroidKeyStore RSA 私钥进行签名

android - 为什么在 Android studio 3.3 的预览选项卡中显示模糊 xml View

android - Kotlin 协程异步延迟

android - 使用 Retrofit 将 Rx apply 转换为 Kotlin 中的 lambda

android - 如何在 fragment 中初始化 "lateinit binding"?

android - 重复条目 : META-INF/myLibrary. kotlin_module

android - 使用 Android Camera2 API 和 Firebase ML-Kit Vision 进行实时条码处理