StringIndexOutOfBoundsException 字符串越界错误
来源:互联网 发布:java基础入门 推荐书籍 编辑:程序博客网 时间:2024/04/29 15:18
今天发现的这个错误,原因是后来的时候,有用到字符串的截取函数,截取的时候 通常是没有问题的,但是如果字符串长度发生了变化,那么就十分容易报这个错。
首先是声明字符串的时候,如下:
private static String[] nicks = {"aa","AA7676","ss","fd","ddf","dd","ds","xdfd","Abc","eee","xxx","eoe","fdfdfdf","gryry","iloveyou"};
这里是网上找的一个例子,这个是可以运行成功的,其中有一个截取字符串的地方
String lastCatalog = converterToFirstSpell(mNicks[position-1]).substring(0, 1); 上述的字符串中长度至少都是2的,所以此时不会报错,但是当我更改字符串的时候,其长度发生变化,是有可能长度不够的,此时在截取字符串的话就会报这个,字符串越界错误。
那么如何解决,因为这里要用到substring 函数, substring函数 返回的字符串 包括start处的字符,不包括end处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。 如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。 如果 start 或 end 为负数,那么它将被替换为 0。
回到正题,如何解决这个错误呢?
对字符串进行截取(substring, charAt)、转换为字节数组(getBytes),字符数组转换为字符串(valueOf)操作时,先对操作字符串对象的存在性(是否为空)及长度进行检查后,再进行操作。
0 0
- StringIndexOutOfBoundsException 字符串越界错误
- 【角标越界异常】ArrayIndexOutOfBoundsException和StringIndexOutOfBoundsException
- StringIndexOutOfBoundsException
- StringIndexOutOfBoundsException
- 数组下标越界错误
- 读字符串越界
- 字符串索引越界
- 字符串越界问题
- sprintf()会造成越界错误
- python数组越界错误解决
- split切字符串数组越界
- 字符串处理,注意越界问题
- 邂逅StringIndexOutOfBoundsException
- lucene StringIndexOutOfBoundsException
- lucene StringIndexOutOfBoundsException
- 邂逅StringIndexOutOfBoundsException
- 邂逅StringIndexOutOfBoundsException
- Hibernate query.list()查询发生java.lang.StringIndexOutOfBoundsException: String index out of range: 0错误
- 打印浮点数输出 1.#IND 1.#INF nan inf 等解决
- 软件经理基本素质
- 如何用各种编程语言杀死一条龙
- ora-00054:resource busy and acquire with nowait specified解决方法
- ini_set()函数的使用 以及 post_max_size,upload_max_filesize的修改方法
- StringIndexOutOfBoundsException 字符串越界错误
- Apache + Tomcat + mod_jk 部署"垂直负载均衡"
- HTML自定义标签开发入门实例 .
- ADB server didn't ACK
- 鼠标点击,在点击的地方出现提示框
- Jquery的$命名冲突
- Android有用的工具类:倒计时器、 ViewHolder简化写法
- Debug编译运行都没有问题,Release编译错误error C2664: 'ATL::CStringT<BaseType,StringTraits>::CStringT(const VARIANT
- StringBuilder的使用介绍(主要)