如何在 Kotlin 中将两个数组与参数数组合并为一个数组?

莉亚·利夫希茨

我想从两个数组中创建一个数组。

var a1 = arrayOf(1, 2, 3)
var a2 = arrayOf(4, arrayOf(5,6), 7)

var a3 = a1 + a2

但是我得到一个编译错误:

None of the following functions can be called with the arguments supplied:
public operator fun <T> Array<???>.plus(element: ???): Array<???> defined 
in kotlin.collections
public operator fun <T> Array<???>.plus(elements: Array<out ???>): 
Array<???> defined in kotlin.collections
public operator fun <T> Array<Int>.plus(elements: Collection<Int>): 
Array<Int> defined in kotlin.collections

我怎样才能把它们结合起来?

扫地机

在这种情况下,类型推断对您不利。a1并且a2被推断为不同类型的数组,因此您无法将它们加在一起。您应该做的第一件事是使它们具有相同的类型Array<Any>

var a1: Array<Any> = arrayOf(1, 2, 3)
var a2: Array<Any> = arrayOf(4, arrayOf(5,6), 7)

然后,您将看到一个关于 2 次重载的模棱两可的方法调用错误plus重载仅在参数名称上有所不同。我们想使用带有elements参数的那个,它添加了另一个数组中的所有元素:

var a3 = a1.plus(elements = a2)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将两个数组合并为一个对象数组

如何将两个数组合并为一个嵌套数组?

如何将两个数组合并为一个 php

如何使用.map和.filter将两个数组合并为一个

如何将这两个数组合并为一个

如何将两个数组的排序合并为一个数组?

如何将两个数组的负数合并为一个数组?

如何将两个可观察的数组合并为一个数组?

如何根据键匹配值将两个对象数组合并为一个数组

如何使用jq将两个文件中的数组合并为一个数组?

如何将数组转换为数组对象并将两个数组合并为一个数组?

如何将两个数组合并为一个?保留数组元素和长度

如何在Javascript中将多个json数组合并为一个数组swift子数组?

如何在matlab中将两个数组合并为单个直方图

如何将两个数组合并为一个并删除所有相似的值?

如何将2个数组合并为一个数组?

如何在Javascript中将2个数组合并为1个数组?

如何在JavaScript中将两个不同的对象数组合并为一个新的对象数组?

如何在Android(java或kotlin)中将多个数组与相同的第一个或最后一个元素组合?

如何在Kotlin中比较两个数组?

php - 如何将最后两个数组元素合并为一个数组元素

如何在一个数组上合并两个数组

如何在 Kotlin 中将两个不同的类数据合并为一个

如何将两个数组缓冲区合并为一个?

如何合并两个数组并为每个迭代分配一个键

如何将两个数组列表按升序合并为一个

如何将两个 API 响应数组合并为一个数组并返回数据 Angular 8

如何在javascript中将这两个数组组合成一个3d数组

如何将2个数组合并为一个关联数组