今天處理文件時,使用split("\\|")切割每行數據,發現數據如下時,取最後一個字段報數組越界異常:
a|b|c|| //arr[3]會報異常
百度了下發現:如果字符串最後分隔符裏的字段爲空,使用split("\\|")進行切割時,最後的空字段不會切割,這時字符串a|b|c||切割出來的數組大小爲3.取arr[3]就會報異常.
如果想要取arr[3]時不報異常,可以使用split("\\|",-1)進行切割,這樣切出來的數組大小爲4,arr[4]爲空字符串
PS: 如果是這樣的字符串: a||b|c| split("\\|")和split("\\|",-1)得到的結果是一樣的,數組大小爲4,arr[1]爲空字符串.