在java中如何访问字符串中的特定索引?

在java中如何访问字符串中的特定索引?,java,string,substring,syntax-error,assign,Java,String,Substring,Syntax Error,Assign,这是我写的一个示例代码 public static void main(String []args){ String inputString = "apple"; char a = inputString[2]; //one System.out.println(inputString[2]); //two } 1和2都给出了一个错误,表示数组类型为预期值;找到:“java.lang.String”我做错了什么?如何访问字符串中的特定索引

这是我写的一个示例代码

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

1和2都给出了一个错误,表示
数组类型为预期值;找到:“java.lang.String”
我做错了什么?如何访问字符串中的特定索引?

您试图访问
字符串的字符,就像它是一个字符数组一样。您应该改用
charAt
方法:

char a = inputString.charAt(2);
为了使数组访问正常工作,您应该首先获取给定
字符串的字符数组

char[] chars = inputString.toCharArray();
char a = chars[2];

这在迭代
字符串的字符时非常有用,因为
字符串
不是一个数组,所以在给定索引处无法获得字符。这是一门课

方法
charAt
就是您要寻找的:

input.charAt(2)
方法的签名如下所示:

公共字符(int索引);
javadoc说:


返回指定索引处的char值。索引的范围从0到length()-1。序列的第一个char值位于索引0处,下一个char值位于索引1处,依此类推,对于数组索引也是如此。如果索引指定的char值是代理项,则返回代理项值。

With。也要阅读,除非你想猜测语言是如何工作的,而不是研究它是如何工作的。字符串是一个字符数组,要访问特定的索引,你需要使用
inputString.charAt(2)
这是否回答了你的问题?