Java中的substring,使用过程中发生字符串截取越界怎么办?
工作中遇到了该问题,发生错误的场景:在往数据库中插入数据时,因担心字段超长导致插入报错,在插入之前希望先截取字段长度大小。如果字符串长度是200,但是截取时用substring(str,1,200),看似好像没有什么问题,但是如果该字段实际拿到的长度只有150,这时substring(str,1,200)就会产生越界问题。解决方案:1)先判断长度,长度超长的话,再截取;没有超长就保留原值。但这种比较麻烦,还要加一层判断。不建议2)用StringUtil.left函数取代,来截取前200位。
原创
2022-04-22 17:01:38 ·
5376 阅读 ·
1 评论