non*_*com 33 arrays scala type-parameter
如果在Scala IDE中尝试以下操作:
val chars = Array[Char](256)
Run Code Online (Sandbox Code Playgroud)
一切都很好.但如果我这样做:
val len = 256
val chars = Array[Char](len)
Run Code Online (Sandbox Code Playgroud)
它说它期望一个Char而不是len?为什么?我希望行为是一样的!为什么我认为我想把那个东西放在数组中而不是指定它的大小?据我所知,没有数组的构造函数只需要一个参数就可以将它放在数组中.
Ser*_*nko 65
val chars = Array[Char](256)
Run Code Online (Sandbox Code Playgroud)
这是因为256被视为a Char并且它创建了一个元素数组(代码256)
val len = 256
val chars = Array[Char](len)
Run Code Online (Sandbox Code Playgroud)
这是len Int,所以它失败了
要创建指定大小的数组,您需要这样的东西
val chars = Array.fill(256){0}
Run Code Online (Sandbox Code Playgroud)
where {0}是生成元素的函数
如果Array的内容无关紧要,您也可以使用new而不是fill:
val chars = new Array[Char](256)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29922 次 |
| 最近记录: |