嘗試了 2 天后,終于在 stackoverflow 上提問:How to pass a 2D Arraylist to 2 D List下面是代碼:public class Main { static void fn1(List<List<Integer>> x){ System.out.println(x); } public static void main(String[] args) { // Here aList is an ArrayList of ArrayLists ArrayList<ArrayList<Integer>> aList = new ArrayList<ArrayList<Integer>>(); // Create n lists one by one and append to the // master list (ArrayList of ArrayList) ArrayList<Integer> a1 = new ArrayList<Integer>(); a1.add(1); a1.add(2); aList.add(a1); ArrayList<Integer> a2 = new ArrayList<Integer>(); a2.add(5); aList.add(a2); ArrayList<Integer> a3 = new ArrayList<Integer>(); a3.add(10); a3.add(20); a3.add(30); aList.add(a3); for (int i = 0; i < aList.size(); i++) { for (int j = 0; j < aList.get(i).size(); j++) { System.out.print(aList.get(i).get(j) + " "); } System.out.println(); } fn1(aList); }}我收到錯誤:錯誤:(41、13)java:不兼容的類型:java.util.ArrayList<java.util.ArrayList<java.lang.Integer>>無法轉(zhuǎn)換為java.util.List<java.util.List<java.lang.Integer>>我有一個限制,我不能更改 fn1 的簽名。
1 回答

藍(lán)山帝景
TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個贊
使用 List 接口而不是具體類初始化對象。
public static void main(String[] args) {
// Here aList is an ArrayList of ArrayLists
List<List<Integer>> aList =
new ArrayList<List<Integer>>();
添加回答
舉報
0/150
提交
取消