首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Kotlin中初始化和使用charArray

如何在Kotlin中初始化和使用charArray
EN

Stack Overflow用户
提问于 2019-04-29 12:49:39
回答 5查看 7.5K关注 0票数 3

我有这个密码

代码语言:javascript
复制
 var str : CharArray


var t =0
for (k in i..i+3) {
    str[t++] = array[k][j]

它说必须初始化str,我不知道如何初始化。

我试过像这样初始化,但上面写着类型错配,

代码语言:javascript
复制
var array: Array<CharArray> = arrayOf("India");

类型推断失败。预期类型不匹配:必需:数组找到:数组

EN

回答 5

Stack Overflow用户

发布于 2019-04-29 14:58:46

您可以这样初始化它:

代码语言:javascript
复制
var str : CharArray = CharArray(3) //if you know size
var str : CharArray = charArrayOf() //creates empty array
var str : CharArray? = null //makes your array nullable

或者您可以使用lateinit稍后初始化。

票数 7
EN

Stack Overflow用户

发布于 2019-04-29 13:26:36

如果您将CharArray声明为它,则必须立即初始化它。否则,可以指定稍后使用属性迟来初始化变量,或者可以将变量声明为CharArray并将其设置为null,也可以使用

代码语言:javascript
复制
var str : CharArray? = null
var lateinit str: CharArray
票数 0
EN

Stack Overflow用户

发布于 2019-04-29 17:58:33

您已经声明了一个类型为CharArray的变量,但没有为它分配任何实例。

在设置该CharArray的元素之前,必须创建一个CharArray实例。看起来您预先知道了该数组的大小,然后可以使用以下数组构造函数:

代码语言:javascript
复制
// creates an instance of CharArray of 4 elements, filled with \u0000 chars
val str = CharArray(4)  

// after that you can set elements in the array

优点:如果您有一个函数可以提供数组元素值,给出它的索引,那么您可以使用类似的构造函数来创建实例并立即初始化其元素:

代码语言:javascript
复制
val str = CharArray(4) { index -> 
    array[i + index][j]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55903777

复制
相关文章

相似问题

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