簡體   English   中英

Java:如何將 ArrayList 作為對象的實例變量?

[英]Java: How to have an ArrayList as instance variable of an object?

我正在做一個班級項目,用 Java 構建一個小 Connect4 游戲。 我目前的想法是有一類 Columns 作為實例變量有幾個整數(索引,最大長度,isFull?)和一個 ArrayList 來接收上面的整數和每個玩家的播放(例如,1 和 0 的立場X 和 O 的)。 這可能會分為 2 個班級,但問題保持不變。

我目前的嘗試是這樣的:

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>;
    (...)}  

不幸的是,這不能編譯。 編譯器說我的 ArrayList 聲明所在的位置缺少<identifier >。

我們剛剛開始創建對象,除了基本類型之外,我們還沒有真正研究過其他實例變量。

有人能告訴我我的錯誤在哪里以及如何糾正它嗎?

你忘了給你的成員一個名字。

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;
    (...)} 
public ArrayList<Integer> list;

但是,不要將 ArrayList 聲明為 public:

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

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

另外一個補充:最好使用 java.util.List 並且只在創建對象期間使用特定的 ArrayList :

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

這樣您就可以更改實際實現而無需更改成員聲明。

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

你忘了給變量一個名字。 正確的語法:

public ArrayList<Integer> listName;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM