我需要使用以下表达式获取微调器中元素的索引,其中employeeList是字符串数组,而userName是微调器中元素的字符串值:
val itemPosition = Arrays.asList(employeesList).indexOf(userName)
作为回报,我得到以下错误:
“ kotlin类型推断失败。类型参数T的值 在输入类型中应提及(参数类型,接收器类型或 预期的类型。(尝试明确指定它)“
答案 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。