Java split 在特殊业务下切割数组
String ids2 = "100,,,,";
// java 按, 切割成数组。
String[] id = ids1 .split(",");
String idA = id[0];
String idB = id[1];
String idC = id[2];
String idD = id[3];
// 然后就..... java.lang.ArrayIndexOutOfBoundsException
// 以为 id 的长度为 4, 实际上切割出来的数组长度为 1
// 实际上java的split有一个重载方法,是两个参数的,ok第二个参数就是你期望数组的长度,当然如果你写100,那么你也不可能得到长度为100的数组在本例当中,他是个limit的概念。
//所以这里应该写成
String[] id = ids1 .split(",",4);
String idA = id[0];
String idB = id[1];
String idC = id[2];
String idD = id[3];

本文深入探讨了Java中split方法在处理字符串分割时的常见陷阱,特别是当遇到空字符串和连续分隔符的情况。通过实例说明如何正确使用split方法的重载版本来避免ArrayIndexOutOfBoundsException异常,确保数组元素数量符合预期。
2334

被折叠的 条评论
为什么被折叠?



