java反向整数数组
我只是好奇,但当我试图用它来反转一个数组时,它总是吐出一些不连贯的胡言乱语,而不是反转的数组,比如[I@43256ea2
。你知道为什么会这样吗
public class Fiddle {
public static void main(String[] args) {
int[] number = {1,2,3,4,5};
System.out.println(reverse(number));
}
public static int[] reverse(int[] a) {
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
b[a.length-1-i] = a[i];
}
return b;
}
}
感谢您提供有关为什么会发生这种情况的任何想法(可能是因为我忘记了一些事情)
# 1 楼答案
下议院。朗
完成了
# 2 楼答案
使用实用程序方法^{} :
数组类不重写
Object.toString()
,这意味着它们使用the default implementation provided by Object,即“type@hashcode_in_hex
”。类型int[]
的字符串表示形式是[I
,这就是为什么您会看到这种“不连贯的胡言乱语”# 3 楼答案
您正在打印数组的哈希。你应该这样做
# 4 楼答案
试试这个:
这是java的一个“错误”——你必须使用
Arrays.toString()
,否则你会从Object
得到默认的toString()
,它会产生你所看到的输出