首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Scala -创建指定长度的类型参数化数组

Scala -创建指定长度的类型参数化数组
EN

Stack Overflow用户
提问于 2012-02-23 20:55:11
回答 2查看 40.3K关注 0票数 38

如果在Scala IDE中,请尝试执行以下操作:

代码语言:javascript
复制
val chars = Array[Char](256)

一切都很好。但如果我这样做:

代码语言:javascript
复制
val len = 256
val chars = Array[Char](len)

它说它期望的是Char而不是len?为什么?我希望行为是一样的!为什么它认为我想把那个东西放在数组中,而不是指定它的大小?据我所知,没有一个数组的构造函数可以接受单个参数将其放入数组中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-23 21:10:19

代码语言:javascript
复制
val chars = Array[Char](256)

这之所以有效,是因为256被视为一个Char,它创建了一个元素数组(代码为256)

代码语言:javascript
复制
val len = 256
val chars = Array[Char](len)

这里len是Int,所以它失败了

要创建指定大小的数组,需要如下所示

代码语言:javascript
复制
val chars = Array.fill(256){0}

其中{0}是一个生成元素的函数

如果数组的内容无关紧要,你也可以用new代替fill

代码语言:javascript
复制
val chars = new Array[Char](256)
票数 75
EN

Stack Overflow用户

发布于 2012-02-23 21:17:51

使用Array.ofDim[Char](256)

请在此处查看API docs

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

https://stackoverflow.com/questions/9413507

复制
相关文章

相似问题

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