Kotlin – 类型不匹配:必需:字符串,找到:() – >字符串
在Kotlin中,我声明了一个像这样的List<String>
:
private val items = listOf<String> { "String1", "String2", "String3" }
编译器给我这个错误:
类型不匹配。
必需:字符串
找到:() – >字符串
这是什么意思? 我该如何解决?
PS对于Kotlin来说很新,所以请问我明显的问题。
您传递了引入函数文字(lambda)的{}
的参数,这就是编译器找到函数类型的原因
找到:() – >字符串
相反,只需使用这样的括号:
listOf("String1", "String2")
一些信息:
当Kotlin作为最后一个参数传递时,允许你在()
之后传递函数。 如果该函数是唯一的参数,那么括号可以被忽略。 因此代码是有效的,但只是不匹配函数参数类型。
尝试这个:
private val items = listOf("String1", "String2", "String3")