Rac*_*ket 11 java arrays text numbers
我是编程新手.我确定这个问题的答案就在那里,但我不知道该搜索什么.
好的,我会正确的.
这是我的代码:
int[] arr;
arr = new int[5];
arr[0] = 20;
arr[1] = 50;
arr[2] = 40;
arr[3] = 60;
arr[4] = 100;
System.out.println(arr);
Run Code Online (Sandbox Code Playgroud)
这编译并正常工作.这只是CMD的输出,我很头晕.
这是输出:[I@3e25a5.
我希望输出代表list(arr)中完全相同的数字.我该如何做到这一点?
Hov*_*els 22
每个对象都有一个toString()方法,默认方法是显示对象的类名表示,然后@是哈希码.所以你看到的是数组的默认toString()表示int.要打印数组中的数据,您可以使用:
System.out.println(java.util.Arrays.toString(arr));
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用循环遍历数组,for因为其他人已在此主题中发布.
它是数组的默认字符串表示形式(奇怪的文本).
你只需循环它:
for(int i : arr){
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
要打印值使用.
for(int i=0; i<arr.length; i++)
System.out.println(arr[i]);
Run Code Online (Sandbox Code Playgroud)
System.out.println(Arrays.toString(arr));
Run Code Online (Sandbox Code Playgroud)
目前的输出是classtype@hashcode.
如果您需要打印具有多个维度的数组:
Arrays.deepToString(arr);
Run Code Online (Sandbox Code Playgroud)
还要记住为用户定义的类重写toString()方法,以便在选择时获得对象的表示,而不是默认的表示,即classtype@hashcode
| 归档时间: |
|
| 查看次数: |
45590 次 |
| 最近记录: |