首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Kotlin中使用值初始化数组?

如何在Kotlin中使用值初始化数组?
EN

Stack Overflow用户
提问于 2015-07-12 17:20:07
回答 20查看 279K关注 0票数 344

在Java中,数组可以初始化,如下所示:

代码语言:javascript
运行
复制
int numbers[] = new int[] {10, 20, 30, 40, 50}

Kotlin的数组初始化是什么样子的?

EN

回答 20

Stack Overflow用户

回答已采纳

发布于 2015-07-12 17:26:06

代码语言:javascript
运行
复制
val numbers: IntArray = intArrayOf(10, 20, 30, 40, 50)

详情请参见Kotlin - Basic Types

您还可以提供一个初始化器函数作为第二个参数:

代码语言:javascript
运行
复制
val numbers = IntArray(5) { 10 * (it + 1) }
// [10, 20, 30, 40, 50]
票数 428
EN

Stack Overflow用户

发布于 2016-09-28 22:59:23

值得一提的是,当使用kotlin builtines (例如intArrayOf()longArrayOf()arrayOf()等)时,您不能使用给定大小的默认值(或将所有值初始化为所需值)来初始化数组,而是需要通过根据类构造函数调用来进行初始化。

代码语言:javascript
运行
复制
// Array of integers of a size of N
val arr = IntArray(N)

// Array of integers of a size of N initialized with a default value of 2
val arr = IntArray(N) { i -> 2 }
票数 106
EN

Stack Overflow用户

发布于 2017-06-10 17:23:22

在Kotlin中,有几种方法。

代码语言:javascript
运行
复制
var arr = IntArray(size) // construct with only size

然后,只需从用户或其他集合或您想要的任何位置获取初始值。

代码语言:javascript
运行
复制
var arr = IntArray(size){0}  // construct with size and fill array with 0
var arr = IntArray(size){it} // construct with size and fill with its index

我们也可以用内置函数创建数组,比如-

代码语言:javascript
运行
复制
var arr = intArrayOf(1, 2, 3, 4, 5) // create an array with 5 values

另一种方式

代码语言:javascript
运行
复制
var arr = Array(size){0} // it will create an integer array
var arr = Array<String>(size){"$it"} // this will create array with "0", "1", "2" and so on.

您也可以使用doubleArrayOf()DoubleArray()或任何基元类型来代替Int。

票数 68
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31366229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档