尝试将数组添加到 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 时出错 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

简易版Java ArrayList(增删改查)

将对象添加到java mongodb中的数组

我正在尝试将对象添加到python中的数组中,然后打印数组的内容[重复]

如何将字符串数组中的所有项目添加到 Java 中的向量中?

java将list集合中的for数据循环添加到String数组中

如何将 iPhone 画廊中的图像添加到数组 IOS