输出一个数组中的元素,我们通常用for循环来做,比如:
- package test;
-
- public class Test {
-
- public static void main(String args[]){
- int arr[]={1,2,3};
- System.out.print("[");
- for(int i=0; i<arr.length-1; i++)
- System.out.print(arr[i]+", ");
- System.out.println(arr[arr.length-1]+"]");
-
-
- }
- }
输出的结果为:[1, 2, 3]。
但是Java提供了更为简单的方法,这就是toString方法。具体做法如下:
- 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]。
但是如果数组中的元素不是同一类型怎么办呢?比如:
- 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。比如:
- 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]]。