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

How do I access a specific index in a String in java?

这是我写的示例代码,

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

一和二都给我一个错误,说 Array type expected; found: 'java.lang.String' 我做错了什么?如何访问字符串中的特定索引?

您正在尝试访问 String 的字符,就好像它是一个字符数组一样。您应该改用 charAt 方法:

char a = inputString.charAt(2);

为了使数组访问有效,您应该首先获取给定 String:

的字符数组
char[] chars = inputString.toCharArray();
char a = chars[2];

这在遍历 String 的字符时很有用。

您不能像获取数组那样获取给定索引处的字符,因为 String 并不是每个人所说的数组。这是一个 class.

方法charAt就是您要找的方法:

input.charAt(2)

方法的签名如下:

public char charAt(int index);

javadoc 说:

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