架构师之jdk的bug排查(一)---------------split的点号陷阱
程序员文章站
2022-03-01 21:44:27
...
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
结果将是0.
结果将是3.
结果将是3
3.结论
最好用apache的stringutls包来做split.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'"); System.out.println(paths.length);
结果将是0.
String[] paths = "object_object2_prop11".split("_"); System.out.println(paths.length);
结果将是3.
String[] paths=StringUtils.split("object.object2.prop11", "."); System.out.println(paths.length);
结果将是3
3.结论
最好用apache的stringutls包来做split.