2016-03-23 83 views
-1

我有这样的Scala代码:斯卡拉数组ArrayIndexOutOfBoundsException异常:

val line = "DB:move" 
val str = line.split(":")  
println(line.split(':')(1)) 

当指数是一个1得到

java.lang.ArrayIndexOutOfBoundsException: 1 

,但是当我把指数作为0没有任何问题的。

+1

可以打印您的行吗? – eliasah

+0

你一定在开玩笑吧。该行分割不能产生该错误! – eliasah

+0

对我很好:'''val line =“DB:move” val str = line.split(“:”) println(line.split(':')(1)) //退出粘贴模式,现在解释。 move line:String = DB:move str:Array [String] = Array(DB,move)'''' –

回答

0

当你分割上的字符/字符串,是不是在该字符串你会得到一个包含单个元素的数组一个字符串 - 初始字符串:

scala> "asdf".split(":") 
res0: Array[String] = Array(asdf) 

数组是基于0的,所以访问索引0处的第一个元素很好,但是会索引索引1.