You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决java.lang.StringIndexOutOfBoundsException字符串索引越界错误?

解决StringIndexOutOfBoundsException错误

错误原因

你遇到的java.lang.StringIndexOutOfBoundsException: String index out of range: 4,核心问题是错误地从空字符串rev中获取字符。初始状态下rev是空字符串(长度为0),第一次循环时i=4,调用rev.charAt(4)必然触发索引越界——空字符串没有任何字符,不存在索引4的位置。

修复方案

把循环中获取字符的对象从rev改成原字符串s即可,修改这一行代码:

rev = rev + s.charAt(i);

修改后的完整代码

package JAVA_Program;

public class String_reverse {

    public static void main(String[] args) {
        String s = "hello";
        String rev = "";
        
        try {
            for(int i = s.length() - 1; i >= 0; i--) {
                rev = rev + s.charAt(i);
            }
        } catch(Exception e) {
            System.out.println(e);
        }
        System.out.println(rev);
    }
}

额外优化建议

频繁拼接字符串会生成大量临时对象,建议使用StringBuilder提升效率:

package JAVA_Program;

public class String_reverse {

    public static void main(String[] args) {
        String s = "hello";
        StringBuilder rev = new StringBuilder();
        
        try {
            for(int i = s.length() - 1; i >= 0; i--) {
                rev.append(s.charAt(i));
            }
        } catch(Exception e) {
            System.out.println(e);
        }
        System.out.println(rev.toString());
    }
}

内容的提问来源于stack exchange,提问作者yogesh lande

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 22:57:09