Java 打印数组错误

Java 打印数组错误,java,Java,我正在尝试打印一个数组,我想我所有的代码都是正确的,不知道为什么我会得到下面的结果。。。 我的代码是 public class App { public static void main(String[] args) { int[] array = new int[8]; for (int i = 0; i< array.length; i++){ array[i] = i; System.out.

我正在尝试打印一个数组,我想我所有的代码都是正确的,不知道为什么我会得到下面的结果。。。 我的代码是

public class App {

    public static void main(String[] args) {
        int[] array = new int[8];

        for (int i = 0; i< array.length; i++){
            array[i] = i;
            System.out.print("| " + array + " ");
        }

        System.out.println(" ");
    }
}   
公共类应用程序{
公共静态void main(字符串[]args){
int[]数组=新的int[8];
for(int i=0;i
但我打印的结果如下,为什么

|[I@15db9742 | [I@15db9742 | [I@15db9742 | [I@15db9742 | [I@15db9742 | [I@15db9742 | [I@15db9742 | [I@15db9742因为

System.out.print(“|”+array+”);

是的缩写

System.out.print(“|”+array.toString()+”;

而且
toString()
方法不会打印单个元素(如果打印了,那么对于大型数组,所有的麻烦都会被释放出来,因此聪明的Java bods决定将其委托给
arrays.toString(array)

你在这个案子里需要的是


System.out.print(“|”+array[i]+”);

您将获得@15db9742,即数组对象的哈希代码

尝试:

for (int i = 0; i< array.length; i++){
    array[i] = i;
    System.out.print("| " + array[i]+ " ");
}

它正在精确地打印您指示它执行的操作,您希望得到什么输出

原始数组等中有哪些值

请尝试打印选定的数组项,而不是整个数组

公共静态void main(字符串[]args){ int[]数组=新的int[8]

for (int i = 0; i< array.length; i++){
var item = array[i];
System.out.print("| " + item + " ");
}
System.out.println(" ");
for(int i=0;i
数组
更改为
系统输出中的
数组[i]
。打印(“|”+array+”)
。尝试
数组[i]
而不是
数组
。您必须单独打印数组的元素。您可以看到数组的内部引用。感谢各位,即使
数组.toString()
打印出每个元素后,原始代码仍然无法正常工作。它会重复打印整个数组,而不是一次。
for (int i = 0; i< array.length; i++){
var item = array[i];
System.out.print("| " + item + " ");
}
System.out.println(" ");