我想在scala中运行getchars方法:
scala> val test = "scala is also functional programming" scala> val testArray : Array[Char] = Array() scala> test.getChars(1,10, testArray, 0)
运行此命令后,我得到以下错误:有人能帮帮我吗。
5lhxktic1#
Array 不可调整大小。这意味着,在初始化没有任何元素的数组时,它只能为空。尝试设置任何元素都会导致 ArrayIndexOutOfBoundsException .您可以使用 Array.fill 或者至少使用构造函数指定大小。p、 s.1:在你的情况下,更简单的方法是在 StringOps :
Array
ArrayIndexOutOfBoundsException
Array.fill
StringOps
val testArray: Array[Char] = test.drop(1).take(9).toCharArray
p、 s.2:路易斯·米格尔·梅杰í阿苏árez建议(我也同意)使用列表(或者其他集合类型)。与阵列相比,它们有多种好处。他还提到 slice ,相当于 drop 以及 take .
slice
drop
take
1条答案
按热度按时间5lhxktic1#
Array
不可调整大小。这意味着,在初始化没有任何元素的数组时,它只能为空。尝试设置任何元素都会导致ArrayIndexOutOfBoundsException
.您可以使用
Array.fill
或者至少使用构造函数指定大小。p、 s.1:在你的情况下,更简单的方法是在
StringOps
:p、 s.2:路易斯·米格尔·梅杰í阿苏árez建议(我也同意)使用列表(或者其他集合类型)。与阵列相比,它们有多种好处。他还提到
slice
,相当于drop
以及take
.