gpt4 book ai didi

Kotlin 类型不匹配 : required Array?但发现 Array

转载 作者:行者123 更新时间:2023-12-05 09:03:55 26 4
gpt4 key购买 nike

这是我的 Foo数据类定义

data class Foo(
var fooArg: Array<Int?>? = null,
)

这是对它的调用:

val bar: Array<Int> = arrayOf(1,2,3)
val foo = Foo(fooArg = bar)

但这给出了一个错误 type mismatch: required Array<Int?>? but found Array<Int>

我很困惑,它需要一个可为空的类型,而我为它提供了一个非空值,这种类型怎么不匹配?

最佳答案

您声明了 bar作为Array<Int> .非空类型与可空类型不兼容*。将其更改为 Array<Int?>它会起作用:

val bar: Array<Int?> = arrayOf(1,2,3)
val foo = Foo(fooArg = bar)

或者:

val bar = arrayOf<Int?>(1, 2, 3)

*我认为正确的说法是数组在类型参数上是不变的。但每次我试图正确理解它时,我都会迷路。 🤯

关于Kotlin 类型不匹配 : required Array<Int? >?但发现 Array<Int>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69386390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com