在Java中,数组不会重写toString(),因此如果您尝试直接打印一个,则会得到数组的className+“@”+hashCode的十六进制,如Object.toString()所定义:

int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray); // Prints something like '[I@3343c8b3'

但通常情况下,我们会想要更像[1,2,3,4,5]的东西。最简单的方法是什么?以下是一些输入和输出示例:

// Array of primitives:
int[] intArray = new int[] {1, 2, 3, 4, 5};
// Output: [1, 2, 3, 4, 5]

// Array of object references:
String[] strArray = new String[] {"John", "Mary", "Bob"};
// Output: [John, Mary, Bob]

当前回答

这里有一个可能的打印功能:

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

例如,如果main是这样的

public static void main (String [] args){
    int [] array = {1, 2, 3, 4};
    printArray(array);
}

输出将是{[1][2][3][4]}

其他回答

toString是一种将数组转换为字符串的方法。

此外,您还可以使用:

for (int i = 0; i < myArray.length; i++){
System.out.println(myArray[i] + " ");
}

此for循环将使您能够按顺序打印数组的每个值。

从Java 8开始,还可以利用String类提供的join()方法打印出数组元素,不带括号,并用分隔符分隔(这是下面示例中的空格字符):

String[] greeting = {"Hey", "there", "amigo!"};
String delimiter = " ";
String.join(delimiter, greeting) 

输出将是“嘿,朋友!”。

在java8中,这很简单。有两个关键字

stream:数组.stream(intArray).forEach方法引用::printlnint[]intArray=新int[]{1,2,3,4,5};Arrays.stream(intArray).forEach(System.out::println);

如果要在同一行中打印数组中的所有元素,那么只需使用print而不是println,即。

int[] intArray = new int[] {1, 2, 3, 4, 5};
Arrays.stream(intArray).forEach(System.out::print);

另一种没有方法引用的方法只需使用:

int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(intArray));

对于在这里结束的Android开发者,这是Kotlin的:

println(myArray.joinToString())

OR

println(myArray.joinToString(separator = "|"))

在Java中打印数组的不同方法:

简单的方式List<String>List=newArrayList<String>();list.add(“一”);list.add(“两个”);list.add(“三”);list.add(“四”);//在控制台中打印列表System.out.println(列表);

输出:[一、二、三、四]

使用toString()String[]数组=新String[]{“一”,“二”,“三”,“四”};System.out.println(数组.toString(数组));

输出:[一、二、三、四]

打印阵列阵列String[]arr1=新String[]{“Fifth”,“Sixth”};String[]arr2=new String[]{“Seventh”,“Eight”};String[][]arrayOfArray=新String[][]{arr1,arr2};System.out.println(arrayOfArray);System.out.println(Arrays.toString(arrayOfArray));System.out.println(Array.deepToString(arrayOfArray));

输出:[[Ljava.lang.String;@1ad086a[[Ljava.lang.String,@10385c1,[Ljava.lang.String;@42719c][[第五,第六],[第七,第八]]

资源:访问阵列