`

java.lang.IndexOutOfBoundsException

    博客分类:
  • Java
阅读更多
在使用String.replaceAll(regex,replacement)方法时,当replacement出现反斜杠\或美元符号$时会出现java.lang.IndexOutOfBoundsException No group的异常,查看api文档时说是可以用java.util.regex.Matcher.quoteReplacement(String s)先过滤,但是此方法是1.5才出现的,我现在用的是1.4版的,所以只有从1.5的源码中拷贝出来用了
/**
     * 由于String.replaceAll方法时如果替换字符中有\或$可能会出现indexOutOfBoundsException
     * 固先对其他进行替换
     * @param s
     * @return
     */
    public static String quoteReplacement(String s) {
        if ((s.indexOf('\\') == -1) && (s.indexOf('$') == -1))
            return s;
        StringBuffer sb = new StringBuffer();
        for (int i=0; i<s.length(); i++) {
            char c = s.charAt(i);
            if (c == '\\') {
                sb.append('\\'); sb.append('\\');
            } else if (c == '$') {
                sb.append('\\'); sb.append('$');
            } else {
                sb.append(c);
            }
        }
        return sb.toString();
    }
分享到:
评论

相关推荐

    在Java中异常分析

    - **异常路径**:`java.lang.Object -&gt; java.lang.Throwable -&gt; java.lang.Exception -&gt; java.lang.RuntimeException -&gt; java.lang.IndexOutOfBoundsException -&gt; java.lang.ArrayIndexOutOfBoundsException` ...

    java.lang.IndexOutOfBoundsException(解决方案).md

    项目中碰到的,记录一下解决方案

    java异常类型.txt

    2. **`java.lang.IndexOutOfBoundsException`** - 访问数组时索引超出范围时抛出此异常。 3. **`java.lang.ArrayIndexOutOfBoundsException`** - 数组索引越界异常,当数组索引超出数组边界时发生。 4. **`java.lang...

    java 数组下标越界异常(ArrayIndexOutOfBoundsException)

    这个异常属于`java.lang.IndexOutOfBoundsException`类的子类,是Java运行时系统在检测到错误的数组索引时抛出的。 ### 数组的基本概念 数组在内存中占据连续的空间,每个元素通过索引来访问,索引通常是从0开始的...

    Java常见异常和错误总结

    java.lang.IndexOutOfBoundsException - **定义**: 访问数组或字符串的下标超出其有效范围时触发的异常。 - **常见场景**: - 使用变量作为下标时。 - 数组长度动态决定时。 - **解决方法**: - 在访问前检查数组...

    RecyclerView索引溢出异常的解决方法

    java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder 继承并重写LinearLayoutManager.onLayoutChildren()方法 class WrappedLinearLayoutManager : ...

    java常见异常总结

    `java.lang.IndexOutOfBoundsException` - **定义**:当试图访问数组或集合中的一个不存在的索引时,会抛出此类异常。 - **常见场景**: - 使用了超出数组长度的索引。 - 计算索引时出现逻辑错误。 - **示例**:...

    JAVA项目常用异常处理汇总

    4.数组下标越界异常(java.lang.IndexOutOfBoundsException) 这种异常的原因是数组下标越界,解决方法是检查数组的长度,在对数组进行操作时建议先用length获取其数组长度,从而规避错误。 5.数学运算异常(java....

    Java程序常见异常及处理汇总

    3. java.lang.IndexOutOfBoundsException(数组下标越界异常) 原因:查看程序中调用的数组或者字符串的下标值是不是超出了数组的范围。解决方法:检查数组的下标值是否超出了数组的范围。 4. java.lang....

    JAVA讲义第6章.pdf

    文件片段还提到了一些Java的核心类库,如`java.lang.Object`、`java.lang.Throwable`、`java.lang.Exception`、`java.lang.RuntimeException`、`java.lang.Non_RuntimeException`等。这里提到了Java的基本类型层次...

    JAVA相关基础知识

    运行时异常在程序运行过程中可能出现,常见的如NullPointerException和IndexOutOfBoundsException等。 Servlet生命周期涉及几个重要的方法:init()、service()、doGet()、doPost()、destroy()等。Servlet在容器启动...

    Java面试题集.rar

    JAVA面试题集 基础知识: 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。...所有的异常都是java.lang.Thowable 的子类。

    各大公司Java面试题

    基础知识:1.C++或Java中的异常处理机制的简单原理和应用。当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。...所有的异常都是java.lang.Thowable的子类。

    zk框架开发中遇到的错误整理2

    在多个不同的业务场景中遇到了`java.lang.IndexOutOfBoundsException:Index:0,Size:0`异常。这些场景包括: - 展商服务---&gt;展位分配--查看--保存 - 展会推广--买家邀请--查看--报名 - 招展销售--我的客户--查看--...

    Java面试题笔试题大全

    java面试题集 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况...所有的异常都是java.lang.Thowable的子类。

    阿里云javasdk源码-WorkIssue:主要是针对工作中遇到的一些问题,记录下来便于记忆

    rectclerView出现java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 2(offset:2) 解决方案:原因就是在清除数据源的时候没有及时notify,需要及时更新list,否则就会报这个错误. ...

    test-rest-exception:在 Web 服务休息中测试异常的使用

    如果插入不正确的索引,则会引发java.lang.IndexOutOfBoundsException 。 RestPersona是允许您进行 Rest 调用的端点。 在getPersona 中,如果返回空值,则会通过调用EJB提供的服务引发MyException异常。 此异常...

Global site tag (gtag.js) - Google Analytics