类内通用递归函数的Kotlin类型不匹配

杜吉卜

我有以下类别,用于计算所有有序集合的集合:

class PowerSet<T>(val inputSet: List<T>, val minLength: Int = 4) {

    private var combinations = mutableListOf<MutableList<T>>()

    init {
        powerset(listOf(), inputSet)
    }

    private fun <T> powerset(curr: List<T>, left: List<T>) {

        if (curr.size > this.minLength) {
            combinations.add(curr)
        }

        if (left.isEmpty()) {
            return
        }

        for ((index, value) in left.withIndex()) {

            val subList = left.subList(0, index) + left.subList(index + 1, left.size)
            val newList = curr + listOf(value)
            powerset(newList, subList)
        }
    }
}

发生以下错误:

Type mismatch.
Required:
MutableList<T#1 (type parameter of com.example.PowerSet)>
Found:
List<T#2 (type parameter of com.example.PowerSet.powerset)>

不知道为什么会这样。

乔佛里

这是因为您的方法powerset具有自己的类型参数T

您应该删除<T>那里,因为您希望T和班级的一样T

private fun powerset(curr: List<T>, left: List<T>) {
  // ...
}

然后,我认为您可能List对vs也有疑问MutableListcurr是一个List<T>,因此您不能将其添加到combinations,因为它需要type的元素MutableList<T>

您可以使用toMutableList()将转换ListMutableList

combinations.add(curr.toMutableList())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试在通用类中应用lambda表达式时出现类型不匹配的编译错误

来自分类Dev

告诉通用函数其类型而不传递该类型的示例

来自分类Dev

类型类声明类型不匹配

来自分类Dev

递归函数,如果Rust中的语句类型不匹配

来自分类Dev

Haskell:函数组合的类型不匹配

来自分类Dev

递归CTE错误:类型不匹配

来自分类Dev

函数调用导致类型13不匹配

来自分类Dev

重载函数的地址与所需类型不匹配

来自分类Dev

函数返回基本接口的通用类-类型不匹配

来自分类Dev

Kotlin类型不匹配,泛型

来自分类Dev

Android(Kotlin):Observer中的类型不匹配

来自分类Dev

Raku类型限制了递归函数和类

来自分类Dev

Android / Kotlin:如何创建使用DBLocal类的类?错误消息:类型不匹配需要上下文

来自分类Dev

fortran类型不匹配调用函数

来自分类Dev

函数“递归返回”的“类型不匹配”

来自分类Dev

通用函数宏以及如何禁止特定的GCC警告:“条件表达式中的指针类型不匹配”

来自分类Dev

VBA函数结果类型不匹配

来自分类Dev

递归函数不递归

来自分类Dev

类型不匹配错误,声明类列表

来自分类Dev

Haskell函数中的类型不匹配

来自分类Dev

递归函数以通用类型查找用户控件

来自分类Dev

函数类型与函数定义不匹配

来自分类Dev

Kotlin泛型继承-类型不匹配

来自分类Dev

从函数返回数组时类型不匹配

来自分类Dev

Scala 中的类型不匹配(hasNext 函数)

来自分类Dev

通用高阶函数的不兼容流类型

来自分类Dev

Kotlin - 高阶函数和类型不匹配

来自分类Dev

Scala中的Java类类型不匹配?

来自分类Dev

Kotlin 数据绑定问题类型不匹配

Related 相关文章

热门标签

归档