hay*_*onj 0 java arrays for-loop casting output
考虑一个像这样的简单案例:
public static void array()
{
String myString = "STACKOVERFLOW";
int [] checkVal = new int[myString.length()];
for(int i=0; i<myString.length();i++){
checkVal[i] = (int)myString.charAt(i);
}
System.out.println(checkVal[0]);
System.out.println(checkVal[1]);
System.out.println(checkVal[2]);
System.out.println(checkVal[3]);
System.out.println(checkVal[4]);
System.out.println(checkVal);
}
Run Code Online (Sandbox Code Playgroud)
这将输出以下内容:
83
84
65
67
75
[I@fc9944
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下吗?如何从Array中检索正确的信息而不是内存分配?
如果你想要它打印漂亮,请使用Arrays.toString它:
System.out.println(Arrays.toString(checkVal);
Run Code Online (Sandbox Code Playgroud)
如果没有,它将只打印出toString继承自的数组Object,并生成String包含其类型和哈希码的数组:
类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符"@"和对象的哈希码的无符号十六进制表示组成.换句话说,此方法返回一个等于值的字符串:
getClass().getName()+'@'+ Integer.toHexString(hashCode())
这个答案也有相关信息.
| 归档时间: |
|
| 查看次数: |
6359 次 |
| 最近记录: |