如何访问 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值是代理项,则返回代理项值。
这是我写的示例代码,
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值是代理项,则返回代理项值。