Java:如何将二维ArrayList传递给方法/构造函数

Java:如何将二维ArrayList传递给方法/构造函数,java,arraylist,constructor,Java,Arraylist,Constructor,我正在尝试将2d ArrayList传递给构造函数。构造函数的标题如下所示: public Table( ArrayList<ArrayList<?>> table ) { 公共表(ArrayList>)不适用 (参数不匹配;java.util.ArrayList无法转换为java.util.ArrayListAnArrayList 要传递ArrayList,请在签名中包含另一个通配符: public Table( ArrayList<? extends Arra

我正在尝试将2d ArrayList传递给构造函数。构造函数的标题如下所示:

public Table( ArrayList<ArrayList<?>> table )
{
公共表(ArrayList>)不适用
(参数不匹配;java.util.ArrayList无法转换为java.util.ArrayListAn
ArrayList

要传递
ArrayList
,请在签名中包含另一个通配符:

public Table( ArrayList<? extends ArrayList<?>> table )
公共表(ArrayList>表)
一个
数组列表

要传递
ArrayList
,请在签名中包含另一个通配符:

public Table( ArrayList<? extends ArrayList<?>> table )
公共表(ArrayList>表)

变量名不能以数字开头!
2dList
应该是
list2D
或类似的名称

也可以这样声明构造函数

public Table(ArrayList<? extends ArrayList<?>> list2D) {

}
公共表(ArrayList>list2D){
}
还是像这样

public <E> Table(ArrayList<ArrayList<E>> list2D) {

}
公共表(ArrayList list2D){
}

变量名不能以数字开头!
2dList
应该是
list2D
或类似的名称

也可以这样声明构造函数

public Table(ArrayList<? extends ArrayList<?>> list2D) {

}
公共表(ArrayList>list2D){
}
还是像这样

public <E> Table(ArrayList<ArrayList<E>> list2D) {

}
公共表(ArrayList list2D){
}

对象替换
?不,你没有犯愚蠢的错误。泛型完全令人困惑。前几天我遇到了这个问题(请参阅)。你可以通过编写
表(ArrayList>表)来实现
,但凡人并不理解为什么。用
对象替换
?不,你没有犯愚蠢的错误。泛型完全令人困惑。我前几天遇到过这个问题(请参阅)。你可以通过编写
表(ArrayList>Table)来实现它
,但凡人都不明白为什么。我回去查看了通配符实现和继承概念,现在它对我完全有意义。谢谢。我回去查看了通配符实现和继承概念,现在它对我完全有意义。谢谢。