2016-03-04 27 views
1

我的代碼在我printArray方法在我printArray方法觀看陣列:觀看陣列在我printArray方法

public class arrayTest { 
    public static void main(String[] args){ 
    Integer[] list1 = {12, 43, 56, 72}; 
    Double[] list2 = {12.5, 45.6, 62.4, 65.8}; 
    String[] list3 = {"1", "2", "3"}; 

    printArray(list1); 
    printArray(list2); 
    printArray(list3); 

} 

public static void printArray(Object[] list){ 
      Object o = list; 
      System.out.println(o); 
    } 

此不顯示陣列。我犯了什麼錯誤?

+0

此代碼,如果一個更''}在該代碼的結束時加入編譯。你有什麼問題? – MikeCAT

+0

你是否試圖在數組中顯示每個單獨的值?如果是這樣,我會使用for循環或「for each」循環。 – Logan

回答

3

這是您將會得到的輸出, 您正在做的Object o = list;然後打印object o

[Ljava.lang.Integer;@106d69c 
[Ljava.lang.Double;@52e922 
[Ljava.lang.String;@25154f 

您可以直接打印對象而不必將其分配給任何對象。

你修改後的代碼:

class arrayTest { 
public static void main(String[] args){ 
    Integer[] list1 = {12, 43, 56, 72}; 
    Double[] list2 = {12.5, 45.6, 62.4, 65.8}; 
    String[] list3 = {"1", "2", "3"}; 

    printArray(list1); 
    printArray(list2); 
    printArray(list3); 

} 

public static void printArray(Object[] list){ 
     for(Object o : list) 
      System.out.println(o); 
    }} 
2
public static void printArray(Object[] list){ 
     for(int i=0; i<list.length;i++) 
      System.out.println(list[i]); 
    } 
} 

要指定數組命名列表對象。你只需要在列表上迭代並打印它。

3

您也可以使用 「用於每個」:

public static void printArray(Object[] list) 
{ 
    for(Object item : list) 
    { 
     System.out.println(item); 
    } //end for 
} 
1

我更喜歡內置方法的toString(陣列) java.util.Arrays中類(提供陣列是簡單的數據類型的)。它比編寫循環節省了額外的代碼行。

int arr[] = {1,2,3,4,5}; 
Arrays.toString(arr);// just a single line 

輸出: [1,2,3,4,5]