反转整数数组

Bat*_*oid 1 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

感谢您为何发生这种情况的想法(这可能是因为我忘记了一些事情).

Mar*_*ers 10

使用实用方法java.util.Arrays.toString(int[]):

System.out.println(Arrays.toString(reverse(number)));
Run Code Online (Sandbox Code Playgroud)

数组类不会覆盖Object.toString(),这意味着它们使用Object提供的默认实现,即" type@hashcode_in_hex".该类型的字符串表示int[][I,这就是为什么你看到这个"语无伦次的胡言乱语."