val chars = Array[Char](256)
Это работает, потому что 256 рассматривается как Char
, и он создает массив из одного элемента (с кодом 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)