簡體   English   中英

如何將 ArrayList 傳遞給 Java 中的方法?

[英]How to Pass an ArrayList to a Method in Java?

我試圖在運行時傳遞一個特定的 ArrayList 作為參數(我使用的是 BlueJ)。 但是當我將 {5, 2, 9, 1, 7, 4, 6, 3, 8} 傳遞到我的方法中時,我收到一個錯誤:“非法初始化 java.util.List”。

這是到目前為止我的代碼的要點:

public static List<Integer> method(List<Integer> items)
    {
        List<Integer> list = new ArrayList<Integer>();
        int first = items.get(0);
        list.add(first);
        return list;
     }

您需要通過傳遞List的實例(當然是子類)來調用您的方法,如下所示:

method(Arrays.asList(5, 2, 9, 1, 7, 4, 6, 3, 8));

或者在 Java 9及更高版本中使用這種較新的語法

method(List.of(5, 2, 9, 1, 7, 4, 6, 3, 8));

您的代碼{ 5, 2, 9, 1, 7, 4, 6, 3, 8 }創建了一個數組(參見教程)。 但是您的方法不采用數組。 您的方法聲明它接受一個ArrayList類型的對象,一個來自Java Collections Framework 的類 ArrayList類恰好在內部使用數組,但本身不是數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM