关于java:如何将类数据从Array传输到ArrayList

How to transfer class data from a Array to a ArrayList

本问题已经有最佳答案,请猛点这里访问。

让我向您介绍我的问题的组成部分。在主方法中创建的名为卡片的数组。一个称为卡片的类,有两个类变量:suit和number。在名为hand的公共类中有一个名为ph(即playerhand)的数组列表,最后是一个名为counter的静态公共变量。现在让我来解释一下我的困境。

在主方法中,阵列卡包含52个卡对象,每个卡对象都有自己的数据。在hand类中,我有一个名为draw()的方法。

这是hand类中的一些代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
ArrayList<Card> ph = new ArrayList<Card>();
public static int cc = 0;



    void draw() {
ph.add(new Card());

ph.get(cc).num = cards[cc].num;
ph.get(cc).suit = cards[cc].suit;

cc = cc + 1;
}

但是,在cc=cc+1之前的两行中有以下错误。"卡无法解析为变量"

如何在数组和arraylist之间传输数据?

编辑:这与post不同,它被标记为的重复项,因为这里数组位于不同的类中,所以解决方案无法工作。


However I have the following error on the 2 lines before cc = cc + 1."cards cannot be resolved to a variable"

也就是说,您没有以允许draw()查看声明的方式/地点申报cards

你说:

In the main method the Array cards contains 52 card objects each with their own data.

听起来您已经在main方法中将cards声明为局部变量。局部变量仅在当前方法体中的语句范围内。

cards数组要么需要声明为封闭类的字段,要么需要作为参数传递给draw。如果没有看到完整的代码,我不能说哪一个更好。