Kotlin – types不匹配:必需:字符串,find:() – >字符串

在Kotlin中,我声明了一个像这样的List

 private val items = listOf { "String1", "String2", "String3" } 

编译器给我这个错误:

types不匹配。

必需:字符串

find:() – >字符串

这是什么意思? 我如何解决它?

PS对于Kotlin来说很新,所以请问我明显的问题。

您传递了引入函数文字(lambda)的{}的参数,这就是编译器find函数types的原因

find:() – >字符串

相反,只需使用这样的括号:

 listOf("String1", "String2") 

一些信息:

当Kotlin作为最后一个parameter passing时,允许你在()之后传递函数。 如果该函数是唯一的参数,那么括号可以被忽略。 因此代码是有效的,但只是与函数参数types不匹配。

尝试这个:

 private val items = listOf("String1", "String2", "String3")