我有一个悬浮方法,该方法应该返回一个ArrayList。但是,在尝试这样做时,IDE会在协程范围内突出显示类型不匹配错误。
我的方法-
private suspend fun dbsearchHelper(query: String): ArrayList<String> {
return withContext(Dispatchers.Default) {
if (query.length > 3) {
return@withContext SupportedPackagesManager.findStoreByName(query)
}
}
}
错误-
Type interference failed. Expected type mismatch:
required: kotlin.collections.ArrayList<String>
found: Any!
findStoreByName
是Java方法。
我该怎么办?
答案 0 :(得分:0)
您需要拥有一个else分支,以便Kotlin可以明确知道您要返回的内容。
在您的情况下,Kotlin将withContext的返回类型设置为Any,因为if(query.length <= 3),您的withContext返回Unit。