为什么我不能这样做,我怎么能像 CPP 一样?
public static void main(String args[])
{
String n = "ABCDEFG";
for(int i=0;i<n.length();i++){
System.out.println(n[i]);
}
}
当我编译时它说“表达式的类型必须是数组类型,但它解析为字符串”。
您想使用该charAt
函数来访问 a 的字符String
。正如 MrSmith42 所提到的,[]
在 C++ 中可以重载运算符std::string
,但在 Java 中则不行String
System.out.println(n.charAt(i));
因为String
不是数组。
但是,您可以将其转换为char
数组并使用这样的 foreach 循环对其进行循环:
for (char c: n.toCharArray())
System.out.println(c);
Java 不允许运算符重载,就像 c++ 一样。因此 [] 运算符不能用于字符串。
System.out.println(n.charAt(i);
String
对象不支持像 C++ 中那样的运算符重载。你可以使用
System.out.println(n.charAt(i));