昨天使用Split分割字符串出现数组越界异常,总结了一下。
出现java.lang.ArrayIndexOutOfBoundsException很可能是在后面去String数组的下标超过了数组的最大长度,所以就出现了数组越界的问题。
解決方法:
在java.lang包中有String.split()方法,返回是一个数组:
1、如果用“.”作为分隔的话,必须是如下写法:String.split(“\\.”),这样才能正确的分隔开,不能用String.split(“.”);
2、如果用“|”作为分隔的话,必须是如下写法:String.split(“\\|”),这样才能正确的分隔开,不能用String.split(“|”); “.”和“|”都是转义字符,必须得加”\\”;
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split(“and|or”);
在之前一定要判断所需要分割的字符串是否空串或者null,如果不判断直接在后面遍历Split分割的字符数组那么很可能就会出现数组越界异常。