Java之split的坑

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_30160727/article/details/77985204

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表示有值**

猜你喜欢

转载自blog.csdn.net/sinat_30160727/article/details/77985204