疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

浅析java数组输出特点


 

       java数组输出

  输出一个数组中的元素,我们通常用for循环来做,比如:

  [java] view plaincopy在CODE上查看代码片派生到我的代码片

  package test;

  public class Test {

  public static void main(String args[]){

  int arr[]={1,2,3};

  System.out.print("[");

  for(int i=0; i

  System.out.print(arr[i]+", ");

  System.out.println(arr[arr.length-1]+"]");

  }

  }

  输出的结果为:[1, 2, 3]。

  但是Java提供了更为简单的方法,这就是toString方法。具体做法如下:

  [java] view plaincopy在CODE上查看代码片派生到我的代码片

  package test;

  import java.util.Arrays;

  public class Test {

  public static void main(String args[]){

  int arr[]={1,2,3};

  System.out.println(Arrays.toString(arr));

  }

  }

  输出的结果为:[1, 2, 3]。

  但是如果数组中的元素不是同一类型怎么办呢?比如:

  [java] view plaincopy在CODE上查看代码片派生到我的代码片

  package test;

  import java.util.Arrays;

  public class Test {

  public static void main(String args[]){

  int[] arr={1,2,3};

  String[] str={"aaa","bbb"};

  Object[] array = {arr,str};

  System.out.println(Arrays.toString(array));

  }

  }

  输出的结果为:[[I@158f9d3, [Ljava.lang.String;@79a2e7]。

  可以看到打印出来的不是数组元素,而是对象的内存代号。如果要打印出数组元素怎么办呢?这里我们可以用到deepToString。比如:

  [java] view plaincopy在CODE上查看代码片派生到我的代码片

  package test;

  import java.util.Arrays;

  public class Test {

  public static void main(String args[]){

  int[] arr={1,2,3};

  String[] str={"aaa","bbb"};

  Object[] array = {arr,str};

  System.out.println(Arrays.deepToString(array));

  }

  }

  输出的结果:[[1, 2, 3], [aaa, bbb]]。