輸出一個數組中的元素,我們通常用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]]。