String的split

前些天在项目中调用了框架中的代码:
package yb_butterfly.testSplit;

public class TestSplit {
	public static void main(String[] args) {
		String str = "||a|";
		String[] arrStr = str.split("\\|");
		System.out.println("the length of 1st test is : " + arrStr.length);
		
		String str1 = "|||a";
		String[] arrStr1 = str1.split("\\|");
		System.out.println("the length of 2nd test is : " + arrStr1.length);
		
		String str2 = "||a|";
		String[] arrStr2 = str2.split("\\|",-1);
		System.out.println("the length of 3rd test is : " + arrStr2.length);
				
	}
}
result : 
the length of 1st test is : 3
the length of 2nd test is : 4
the length of 3rd test is : 4

我要传入一个str给框架里的类处理,但是当我传入类似||a|这样的值时,突然报
ArrayIndexOutOfBoundsException,看过公司框架代码才发现原来问题是类似以上第一种写法引起的,但是作为一个刚入职不久的菜鸟,不敢乱动,只好用二种方式暂时混过(我能确定一个必不为空),其实第三种方式才是我想要的,到时要求改下吧。

你可能感兴趣的:(String,split)