web-dev-qa-db-ja.com

Scala-指定された長さの型パラメーター化された配列を作成する

Scala IDEで以下を試してください:

val chars = Array[Char](256)

それはすべて大丈夫です。しかし、私がこれを行うと:

val len = 256
val chars = Array[Char](len)

Charの代わりにlenを期待しているということですか?どうして?私は同じ振る舞いを期待しています!サイズを指定するのではなく、配列にそのものを入れたいと思うのはなぜですか?私の知る限り、配列内に単一の引数を取る配列のコンストラクタはありません。

33
noncom
val chars = Array[Char](256)

これは、256がCharとして扱われ、1要素配列を作成するため(コード256)

val len = 256
val chars = Array[Char](len)

ここでlenはIntなので、失敗します

指定したサイズの配列を作成するには、次のようなものが必要です

val chars = Array.fill(256){0}

どこ {0}は要素を生成する関数です

配列の内容が重要でない場合は、newの代わりにfillを使用することもできます。

val chars = new Array[Char](256)
64

Array.ofDim[Char](256)を使用します。

APIドキュメント を参照してください。

29
missingfaktor