如何通过设置 String.split() 的限制参数避免空字段引发数组越界问题?
- 内容介绍
- 相关推荐
本文共计677个文字,预计阅读时间需要3分钟。
请直接提供与相关主题相关的内容,避免使用图表解释问题,不要涉及幽默或玩笑,不超过100字。
用 string.split() 时加限制参数(如 split(",", -1))能保留末尾空字符串,避免因忽略空字段导致数组长度不可控、取值越界。
为什么默认 split 会“吃掉”空字段
Java 中 String.split(String regex) 默认等价于 split(regex, 0),它会丢弃结尾的空字符串。比如:
如果业务逻辑依赖字段数恒定(如 CSV 解析固定 5 列),这种截断会让下标访问(如 arr[4])直接抛 ArrayIndexOutOfBoundsException。
本文共计677个文字,预计阅读时间需要3分钟。
请直接提供与相关主题相关的内容,避免使用图表解释问题,不要涉及幽默或玩笑,不超过100字。
用 string.split() 时加限制参数(如 split(",", -1))能保留末尾空字符串,避免因忽略空字段导致数组长度不可控、取值越界。
为什么默认 split 会“吃掉”空字段
Java 中 String.split(String regex) 默认等价于 split(regex, 0),它会丢弃结尾的空字符串。比如:
如果业务逻辑依赖字段数恒定(如 CSV 解析固定 5 列),这种截断会让下标访问(如 arr[4])直接抛 ArrayIndexOutOfBoundsException。

