尝试将数组添加到 Java 中的 ArrayList 时出错 [重复]
Posted
技术标签:
【中文标题】尝试将数组添加到 Java 中的 ArrayList 时出错 [重复]【英文标题】:Error trying to add Arrays to an ArrayList in Java [duplicate] 【发布时间】:2018-08-12 00:23:44 【问题描述】:所以我试图将二维数组添加到这样的数组列表中:
public class game
static ArrayList<Object> edges = new ArrayList<Object>();
static void setEdges()
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
edges.add( 9*i+j,9*i+j+1 );
edges.add( 9*i+j , 9*i+j+9 );
但它不起作用。似乎有效的是:
public class game
static ArrayList<Object> edges = new ArrayList<Object>();
static void setEdges()
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
int[] edge = 9*i+j,9*i+j+1;
int [] edge2 = 9*i+j , 9*i+j+9;
edges.add( edge2 );
edges.add( edge );
我不明白为什么最简单的方法不起作用,而另一种方法却起作用。
【问题讨论】:
你为什么用Object
而不是int[]
?
因为我不知道你可以在 里面写什么类型。
【参考方案1】:
我认为这很正常,因为您尝试将 Integer 添加到对象(边缘)数组的强度中而没有强制转换。因此,如果您希望该工作将 Object 替换为 Integer :)
【讨论】:
【参考方案2】:这是因为你写的不是有效的Java语法:
edges.add( 9*i+j,9*i+j+1 );
edges.add( 9*i+j , 9*i+j+9 );
您需要明确指定要添加一个数组:
edges.add(new int[] 9 * i + j, 9 * i + j + 1);
edges.add(new int[] 9 * i + j, 9 * i + j + 9);
【讨论】:
以上是关于尝试将数组添加到 Java 中的 ArrayList 时出错 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试将对象添加到python中的数组中,然后打印数组的内容[重复]