Kotlin具有(字符串)奇怪的行为

时间:2018-08-15 08:06:39

标签: android kotlin stringbuilder

我有一个简单的代码段,该段代码应解析“ 5555; John Snow”之类的字符串

//Example of code without string population

val str = StringBuilder() 

with(str.toString().trim()) {
    card.id = substring(0, indexOf(";"))
    card.name = substring(indexOf(";" + 1, length))
}

但是当尝试命名时,会抛出错误

  

java.lang.StringIndexOutOfBoundsException:length = SOME_LENGHT;索引= -1

已调试并检查,字符串正确。在调试器中甚至可以正常工作

2 个答案:

答案 0 :(得分:2)

不用担心索引:

/

答案 1 :(得分:1)

我不好。

不正确

card.name = substring(indexOf(";" + 1, length))

正确

card.name = substring(indexOf(";") + 1, length)