Java: How to have an ArrayList as instance variable of an object?
I'm working on a class project to build a little Connect4 game in Java. My current thinking is to have a class of Columns that have as instance variable a few integers (index, max. length, isFull?) and one ArrayList to receive both the integers above and the plays of each players (e.g., 1's and 0's standing for X's and O's). This is probably going to be split between 2 classes but the question remains the same.
My current attempt looks like this:
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&开发者_JS百科lt;Integer>;
(...)}
Unfortunately, this doesn't compile. The compiler says an <identifier
> is missing where my ArrayList declaration stands.
We're just starting objects and we haven't really looked into other instance variables than the basic types.
Can someone tell me where my error is and how to correct it?
You forgot to give your member a name.
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;
(...)}
One more addition: better use java.util.List and only use the specific ArrayList during the creation of the object:
public List<Integer> list;
...
list = new ArrayList<Integer>();
That way you can change the actual implementation without having to change the member declaration.
public ArrayList<Integer> list;
But, do not declare ArrayList public:
private ArrayList<Integer> list = new ArrayList<Integer> ();
public List<Integer> getList ()
{
return Collections.unmodifiableList(list);
}
private List<Integer> list = new ArrayList<Integer>();
You forgot to give the variable a name. Correct Syntax:
public ArrayList<Integer> listName;
精彩评论