如何解决ArrayIndexOutofBoundsException

Eri*_*ric -1 java split

我拆分为String,但我没有考虑异常.所以错误就出来了.例如,如果字符串是"2012-10-21,20:00:00 ,,"

Here is the codes:
String str = "2012-10-21,20:00:00,,";
String a[] = str.split(",");
String timestamp = a[0] + "T" + a[1];
String temp = a[2];


System.out.println(timestamp);
System.out.println(temp);
Run Code Online (Sandbox Code Playgroud)

这是错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
Run Code Online (Sandbox Code Playgroud)

实际上,[2]是空的,但我不知道如何处理这个问题.因为在我的String数组中,一些重新编码包含temp的值,例如"2012-10-21,20:00:00,90".

谢谢.

mic*_*l81 7

拆分确实删除了空元素.您需要使用两个参数版本:

str.split(",",-1);
Run Code Online (Sandbox Code Playgroud)

请参见此处: Java String拆分删除的空值