最终,该方法不会编译,因为Collectors.toMap()返回Map,而方法签名需要返回类型为SortedMap。
我不知道误导性的“静态上下文”错误消息背后的原因;但是当我尝试使用 Gradle 构建代码时,我收到了一条稍微有用的消息。
error: incompatible types: inference variable R has incompatible bounds
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
^
equality constraints: Map<K,U>
lower bounds: SortedMap<String,String>,Object
Collectors.toMap()您可能需要接受 a的重载版本Supplier<Map>,以便您可以提供SortedMapfor 输出。我有一个列表枚举,定义如下:
enum class Test(val type: List<String>){
A(listOf<String>("aa", "ab", "ac")),
B(listOf<String>("bb", "bc", "bd")),
C(listOf<String>("aa", "bb", "dd"));
companion object {
fun Search(type: String?): Boolean {
val before = type?.substringBefore(".")?.toUpperCase()?.trim()
val after = type?.substringAfter(".")?.toUpperCase()?.trim()
return values().any { it.name == normalized }
}
fun ListAll(): List<String> {
}
}
}
我需要执行两个主要操作:Search() 和 ListAll()。我的搜索操作的输入是像“B.bd”这样的字符串,我的 ListAll 操作的输出应该是
A.aa
A.ab
A.ac
B.bb
B.bc
B.bd
C.aa
C.bb
C.dd
我是 Kotlin 新手,想知道是否有任何有效的方法来返回它。
烙印99
相关分类