Java Split()函数使用中一些要注意的问题
2018-01-17 16:32
911 查看
Java Split()函数使用中一些要注意的问题
1.关于解析得到的数组长度
阿里 java手册中原话:使用索引访问用 String 的 split 方法得到的数组时,需做最后一个分隔符后有无内容的检查,否则会有抛 IndexOutOfBoundsException 的风险。String str = "ab, ,s,,,"; System.out.println(str.split(",").length); //输出:3 //得到的数组元素分别是:"ab"," ","s"1
2
3
4
5
上面的例子会让人觉得java的split方法对于两个分隔符之间内容为空则不解析的错觉。
其实不是这样!!!
如下:
String str = "ab,,,s,,"; String tmp[] = str.split(","); System.out.println(tmp.length); System.out.println(tmp[1].isEmpty()); //输出: //4 //true //这里tmp[1],tmp[2]都为空字符串""1
2
3
4
5
6
7
8
9
当然了,还有下面这种情况了:
String str = ",,,s,,"; String tmp[] = str.split(","); System.out.println(tmp.length); System.out.println(tmp[1].isEmpty()); //输出: //4 //true //这里tmp[0],tmp[1],tmp[2]都为空字符串""1
2
3
4
5
6
7
8
9
2.解析后一定会返回一个数组,即split()的返回结果不会为null
String str = "abs"; String tmp[] = str.split(","); System.out.println(tmp==null); //输出:false1
2
3
4
5
这个可以从split源码中看到:
String[] result = new String[resultSize]; return list.subList(0, resultSize).toArray(result);1
2
可以一定会返回一个数组,不过大小可能为0
相关文章推荐
- java String.split()使用注意点和问题
- Java中split()函数的用法及一些注意细节
- 有关STL使用上的一些注意事项。关于某些函数的参数问题。
- java实际开发中泛型使用需要注意的一些问题
- java String.split()使用注意点和问题
- java 分隔符函数split的使用注意事项
- Java 分隔符函数split的使用注意事项
- java中split(regex)使用中要注意的问题:正则表达式
- JAVA使用并行流(ParallelStream)时要注意的一些问题
- java实际开发中泛型使用需要注意的一些问题
- JAVA使用并行流(ParallelStream)时要注意的一些问题
- java中split(regex)使用中要注意的问题:正则表达式
- java中split使用应注意分隔符问题
- Java异常处理、异常处理使用的一些注意点(例如,基类和子类捕获的顺序问题)
- java使用String.split方法时要注意的问题
- java中split使用应注意分隔符问题
- 在JAVA中, 在使用String.split方法时要注意的一些特殊分隔字符串
- 使用cmd运行java注意的一些问题
- Java split()方法使用注意问题
- 声明方法java实际开发中泛型使用需要注意的一些问题