String的split方法经常被用来分割字符串,获得字符串数组。比如
String str = "9 - 34 -23";
String[] res = str.split("-");
res=["9 "," 34","23"];
上面是正常的使用,不会出现什么问题。但是,下面的就会出现问题:
String str = "9 - 34 -";
String[] res = str.split("-");
res=["9 "," 34"];
这里期望可能是3个值,但是只有两个,如果这时通过数组下表访问第三个元素就会出现数组越界异常。
所以,这里我们需要判断最后一个“-”之后还有没有值,即
**res.length() - 1 == res.lastIndexOf("-");//true表示没有值,false表示有值**