Zasadniczo mam tablicę takich jak to:Jak mogę wymusić typ tablicy po jej zainicjowaniu w Scali?
val base_length = Array(
0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56,
64, 80, 96, 112, 128, 160, 192, 224, 0
);
A kiedy Scala widzi, że chce to zrobić:
base_length: Array[Int] = Array(...)
Ale wolałbym na to, aby to zrobić:
base_length: Array[Byte] = Array(...)
próbowałem:
val base_length = Array[Byte](...)
Ale scala mówi:
<console>:4: error: type arguments [Byte] do not conform to method apply's type
parameter bounds [A <: AnyRef]
val base_length = Array[Byte](1,2,3,4,5)
To wydaje mi się być w zasadzie mówi mi, że konstruktor Array chce dowiedzieć się, co rodzaj tablicy jest z argumentów. Zwykle jest to niesamowite, ale w tym przypadku mam dobre powody, dla których chcę, aby elementy tablicy były Byte
s.
Rozglądałem się za wskazówkami na ten temat, ale wydaje mi się, że niczego nie mogę znaleźć. Każda pomoc będzie świetna!
Zauważ, że bajty są podpisane, więc ich prawidłowy zakres to -128 do 127. – starblue