如何显式指定值

时间:2018-10-31 14:04:10

标签: android kotlin

我需要使用以下表达式获取微调器中元素的索引,其中employeeList是字符串数组,而userName是微调器中元素的字符串值:

val itemPosition = Arrays.asList(employeesList).indexOf(userName)

作为回报,我得到以下错误:

  

“ kotlin类型推断失败。类型参数T的值   在输入类型中应提及(参数类型,接收器类型或   预期的类型。(尝试明确指定它)“

2 个答案:

答案 0 :(得分:0)

如评论中所述,您的employeesList已经是一个列表,而不是字符串数组,这意味着Arrays.asList()正在使用单个元素创建一个ArrayList<ArrayList<String>

要回答类型声明问题(尽管不能解决此问题):

val someInteger: Int
val someString: String
//etc

类型声明在变量名之后,并在冒号之后。

答案 1 :(得分:0)

您还有另一个选择:

val indexOfItem = listOf("1","2","3").indexOfFirst { it == "3" }

因此,值indexOfItem将为2。lambda将针对每个项目执行,并且如果lambda与您的搜索匹配,则必须返回true。