java - 如何将二维数组列表传递给接受二维列表的函数
问题描述
尝试了 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>>
无法转换为java.util.List<java.util.List<java.lang.Integer>>
我有一个限制,我不能更改 fn1 的签名。
解决方案
使用 List 接口而不是具体类来初始化 Object。
public static void main(String[] args) {
// Here aList is an ArrayList of ArrayLists
List<List<Integer>> aList =
new ArrayList<List<Integer>>();
推荐阅读
- python - 嘿,我想用 python 向多个人发送电子邮件
- sql - 如果标识符相同,则通过列复制值
- python - 如何在 matplotlib 中获取可变颜色条?
- r - 解释异常检测 R 值
- flutter - Flutter, Dart 将句子每1个字符拆分为2个字符大小,用于flutter自定义tts项目
- excel - 选择案例前一个月
- python-3.x - 确定土地中黄色像素的数量?
- html - 通过 Selenium 处理 Google Form Dropdown
- git - git push 忽略我的 user.name 设置并继续尝试以另一个用户的身份提交
- proxy - maxscale master slave 连接池中的有效连接检查