Java:如何将ArrayList作为对象的实例变量?

时间:2010-03-25 15:20:47

标签: java

所有

我正在开发一个用Java构建一个Connect4游戏的类项目。我目前的想法是有一类Col作为实例变量的几个整数(索引,最大长度,isFull?)和一个ArrayList来接收上面的整数和每个玩家的游戏(例如,1和0的站立)对于X和O')。这可能会分为两个类,但问题仍然是一样的。

我目前的尝试是这样的:

import java.util.ArrayList;
public class Conn4Col {
    public int hMax; 
    public int index;
    public final int initialSize = 0;
    public final int fullCol = 0;
    public ArrayList<Integer>;
    (...)}  

不幸的是,这不会编译。编译器说<identifier&gt;缺少我的ArrayList声明所在的位置。

我们只是启动对象,我们还没有真正研究过其他实例变量而不是基本类型。

有人可以告诉我我的错误在哪里以及如何纠正错误?

非常感谢,

JDelage

5 个答案:

答案 0 :(得分:13)

您忘了给您的会员一个名字。

import java.util.ArrayList;
public class Conn4Col {
    public int hMax; 
    public int index;
    public final int initialSize = 0;
    public final int fullCol = 0;
    public ArrayList<Integer> list;
    (...)} 

答案 1 :(得分:2)

public ArrayList<Integer> list;

但是,不要声明ArrayList public:

private ArrayList<Integer> list = new ArrayList< Integer > ( );

public List< Integer > getList ( )
{
    return Collections.unmodifiableList( list );
}

答案 2 :(得分:2)

还有一个补充:更好地使用java.util.List并在创建对象期间仅使用特定的ArrayList:

public List<Integer> list;
...
list = new ArrayList<Integer>();

这样您就可以更改实际的实现而无需更改成员声明。

答案 3 :(得分:0)

private List<Integer> list = new ArrayList<Integer>();

答案 4 :(得分:0)

您忘记给变量命名。 正确的语法:

public ArrayList<Integer> listName;
相关问题