2012-02-23 10 views
28

の種類パラメータ化配列を作成:スカラ - スカラIDEに次のようにしようとした場合、指定された長さ

val chars = Array[Char](256) 

それはすべての罰金です。私はこれを行う場合でも:

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

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

答えて

51
val chars = Array[Char](256) 

この256 Charとして扱われ、それが(コード256)1要素のアレイを作成するために動作

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

ここlenがIntあるので、アレイを作成する

に失敗指定サイズは次のようなものが必要です

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

val chars = new Array[Char](256) 
+4

Arrayの内容が問題にならない場合は、fillの代わりにnewを使用することもできます。 'val chars = new Array [Char](256)' – MxFr

24

を使用Array.ofDim[Char](256){0}は、配列の内容は、あなたもfillの代わりにnewを使用することができる問題ではない場合は要素

を生成する関数です。

また、API docsを検索してからstackoverflowに質問を投稿すると便利です。

関連する問題