我常常在很多工程中发现类似的代码,如下:
packageIdList.addAll(Arrays.asList(packageIds.replaceAll(",", ",").split(",")));
上面代码的目的,无非就是把一个字符串按逗号分割放到一个数组中。
按逗号分隔,上面的代码还考虑到了中英文逗号,考虑到在后台运营人员填写的时候逗号分隔可能是英文逗号,
也可能是中文逗号。 再想想,这代码不是很奇怪吗,如果运营人员用其他符号分隔呢,例如#,@,*等等,
其实我们知道ID都是数字, 只要按非数字分隔不就可以了吗,这样更通用,代码简洁。
packageIdList.addAll(Arrays.asList(packageIds.split("\\D")));
用上面\\D正则就表示非数字分隔,我觉得更好一点。
我会在以后的文章中分享更多的实用技巧,大家多关注下。
在 “优化代码分割字符串的一点技巧” 上有 1 条评论