2016-03-23 6 views
-1

Ich habe diesen Code Scala:Scala Array ArrayIndexOutOfBoundsException:

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

Wenn der Index ist ein 1 erhalten

java.lang.ArrayIndexOutOfBoundsException: 1 

aber wenn ich legte den Index als 0 keine Probleme überhaupt.

+1

Können Sie Ihre Zeile drucken? – eliasah

+0

Sie müssen mich verarschen. Diese Zeilenaufteilung kann diesen Fehler nicht erzeugen! – eliasah

+0

Funktioniert gut für mich: '' 'val line =" DB: verschieben " val str = linie.split (": ") println (line.split (':') (1)) // Beenden Paste Modus, jetzt interpretierend. move Zeile: String = DB: move str: Array [String] = Array (DB, verschieben) '' ' –

Antwort

0

Wenn Sie eine Zeichenfolge auf ein Zeichen/string aufgeteilt, die nicht in dieser Zeichenfolge ist Sie ein Array zurück, das einzelne Element enthält - die Anfangs string:

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

Arrays sind 0 basiert, so dass Zugriff auf Das erste Element am Index 0 ist in Ordnung, aber es wird für den Index 1 ausgegeben.

Verwandte Themen