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

Java中访问字符串指定索引报错,求正确实现方式

问题解答:Java中访问字符串指定索引报错的原因及解决方法

嘿,这个问题我刚学Java的时候也踩过一模一样的坑!咱们来把问题拆解开说清楚:

错误根源

你看到的Array type expected; found: 'java.lang.String'错误,核心原因是:Java里的String是一个对象,不是原生的字符数组。虽然字符串底层确实是用字符数组实现的,但它并没有对外暴露数组的直接访问语法,所以你用inputString[2]这种数组下标方式去取字符,编译器肯定不认呀。

正确的解决方式

Java给String类专门提供了获取指定索引字符的方法——charAt(int index),索引规则和数组一样,从0开始计数。

把你的代码改成下面这样,就能正常运行了:

public static void main(String []args){ 
    String inputString = "apple"; 
    char a = inputString.charAt(2); //one 这里不再报错
    System.out.println(inputString.charAt(2)); //two 会输出字符'l'
}

额外小技巧

如果你实在习惯用数组下标访问的逻辑,也可以先把字符串转换成字符数组再操作:

public static void main(String []args){ 
    String inputString = "apple"; 
    char[] charArray = inputString.toCharArray();
    char a = charArray[2]; 
    System.out.println(charArray[2]); 
}

不过这种方式会额外创建一个字符数组对象,要是只是单纯获取单个字符,charAt()会更高效简洁。

内容的提问来源于stack exchange,提问作者Shashank Setty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:52:12