(本人的博客愧对语文老师->又臭又长哈哈)
之前需求让解析excel表格后来用户用了有bug,大半夜起来找原因发现问题是这样的。表格中的某个值用户填写为1800(XSSFWorkbook解析为Double类型),后台解析为1800.0,但我只想保留1800对应数据库的字典表,所以就转换在split了然后问题就来了:
java.lang.ArrayIndexOutOfBoundsException: 0
纳尼???
好吧我把问题用一段简单的代码展示出来(只为复现问题)
我直接取System.out.println(strings[0]);代码片
debug一下显然数组为空,为何??
后来想到了转义字符(昨天刚用过+号,idea划红线,今天没转义没划所以一开始压根没想到这个),改了后就可以了
那么java中String.split()都有什么字符需要转义呢,鄙人罗列了一下
| \ $ * + . ? ^ (
) [
] {
}
哈哈,问题不大,记住就行,毕竟亚洲舞王-尼古拉斯·赵四说过失败是成功之母嘛