什么';Java中string[i]和string.charAt(i)之间的区别是什么?
我在写这样一行时遇到了一个错误:什么';Java中string[i]和string.charAt(i)之间的区别是什么?,java,string,Java,String,我在写这样一行时遇到了一个错误: String string; if (Character.isLetter(string[i])) {...} Eclipse告诉我表达式的类型必须是数组类型,但它解析为字符串 但是,如果我使用string.charAt(I),它不会引发错误 我的问题是:字符串[i]和Java中的字符串.charAt(i)有什么区别使用其中一个或另一个有什么微妙的方面吗 我试图自己找到一个解决方案,但我只遇到了这个问题的javascript版本。(示例:)在Java中,字符串
String string;
if (Character.isLetter(string[i])) {...}
Eclipse告诉我表达式的类型必须是数组类型,但它解析为字符串
但是,如果我使用string.charAt(I)
,它不会引发错误
我的问题是:字符串[i]和
Java
中的字符串.charAt(i)有什么区别使用其中一个或另一个有什么微妙的方面吗
我试图自己找到一个解决方案,但我只遇到了这个问题的
javascript
版本。(示例:)在Java中,字符串类型与某些语言中的字符数组不同。可以从字符串中获取字符数组,但它们不是同一事物。在Java中,String[i]
不是字符串的第i个索引。相反,如果将string
定义为数组(例如string[/string=new string[10]
),则string[i]
将引用数组中的第i个元素。string[i]是访问字符串数组中第i个元素的方法,请注意,它们在java中是零索引的,就像在javascript中一样
而string.charAt(i)是一个特定字符串中的第个字符。这里我又是零索引
人们很容易认为java中的字符串和许多其他语言一样是字符数组,但实际上它们是建立在char数组之上的,char数组是String类的私有成员,如本文所述
使用
[]
操作符访问元素仅适用于阵列<代码>字符串s不是数组。这意味着对字符串使用[]
运算符不会编译
如果要将字符串
转换为char[]
数组,请使用以下方法
[]
用于引用数组的索引。虽然字符串
通常被认为是字符
(char[]
)的数组
,但您没有访问字符数组。。。该方法string.charAt(i)
将访问数组
以获取物理字符
在此处了解有关字符串类的更多信息:
如果您有如下代码:
String[] stringArray = new String[] { "String 1", "String 2", "String 3", "..." };
你可以做:
for (int i=0; i < stringArray.length; i++) {
System.out.println("String " + String.valueOf(i) + ": " + String.valueOf(stringArray[i]) + ".");
}
for(int i=0;i
希望有帮助 这可能会帮你解决问题:
public static void main(String[] args) {
String str = "my name is Muneeb";
String[] strarray = str.split(" "); //split on white space.
for(int i=0; i<str.length(); i++){
System.out.println(str.charAt(i));
}
for(int i=0; i<strarray.length; i++){
System.out.println(strarray[i]);
}
}
第二个输出将是:
my
name
is
Muneeb
如果字符串是数组,则只有您可以执行字符串[i]。您的问题不清楚。什么是字符串
?如果它是String
的实例,那么Java不支持[i]
。为什么你认为它应该起作用?在Java中,字符串包含字符数组(char[]
),但它本身不是这样的数组,并且[index]
只能与数组一起使用。
m
y
n
a
m
e
i
s
M
u
n
e
e
b
my
name
is
Muneeb