这个groovy语法如何转换成kotlin?
我在Kotlin创建了一个简单的Greeting任务。
就像Gradle 文档中的一样 。
现在我添加一个简单的测试,看起来像这个在groovy:
class GreetingTaskTest { @Test public void canAddTaskToProject() { Project project = ProjectBuilder.builder().build() def task = project.task('greeting', type: GreetingTask) assertTrue(task instanceof GreetingTask) } }
我把这个翻译成了Kotlin,除了这一行中的一个单词:
def task = project.task('greeting', type: GreetingTask)
有问题的位是第二个参数。 键入:GreetingTask
它究竟代表什么,它如何转化为科特林?
看看文档 。 task
方法需要一个String
和一个Map
。 greeting是String
和Type的一个实例:GreetingTask是一个被转换为Map
实例的命名参数。 所以你应该通过一个Map
作为第二个参数。 不幸的是,不知道如何在kotlin中声明Map
。 这种方法可能会有所帮助。
Thx到蛋白石领导我的解决方案。
除了他在这里的答案是kotlin版本的测试:
class GreetingTaskTest { @Test public fun canAddTaskToProject() { val project = ProjectBuilder.builder().build() val task = project.task(mapOf("type" to GreetingTask::class.java), "greeting") assertTrue(task is GreetingTask) } }
- 用Kotlin解释@Configuration @AutoConfigureAfter
- 错误:无法访问未找到kotlin.jvm.internal.KObject的KObject – 类文件
- 找不到io.fabric.tools:gradle
- 如何使用Gradle建立Google协议缓冲区和Kotlin?
- 将嵌套闭包调用委托给相应的类
- Android Studio 3.1 Canary 3上的Gradle同步错误
- Android Studio 3.0中的Plain Kotlin模块,`api`不支持?
- Android Studio构建失败,Kotlin
- Gradle无法在Windows上读取正确的本地Maven存储库