我需要一些帮助。我想创建一个for循环,创建一个类的n个对象,然后将它们添加到一个arraylist中。像这样:
//Player is a custom class
ArrayList<Player> numberofPlayersArray;
numberofPlayersArray = new ArrayList<Player>();
//n is a variable for the number of Player class objects that I want to create
for(int i = 0; i < n; i++)
{
//this is what I can come up with but I am missing something
Player p;
p = new Player
numberofPlayersArray.add(p);
}
任何帮助将不胜感激
答案 0 :(得分:5)
您的代码在语法上看起来是正确的,只有一个例外。
更改
p = new Player
到
p = new Player();
我假设变量n
已声明并初始化,Player
类是使用无结构构造函数定义的。
答案 1 :(得分:4)
//Player is a custom class
ArrayList<Player> numberofPlayersArray = new ArrayList<Player>(n);
//n is a variable for the number of Player class objects that I want to create
for(int i = 0; i < n; i++) {
//this is what I can come up with but I am missing something
Player p = new Player();
numberofPlayersArray.add(p);
}
请注意,最好使用大小初始化ArrayList
(如果已知)(如您的情况)
答案 2 :(得分:0)
我在这里看不到问题,只是做
p = new Player();
(但这可能只是一个错字)并且播放器列表将填充n个不同的Player对象。
注意,我只是假设,你想使用Player的默认构造函数。
命名提示:除非你想让自己迷惑,否则你不应该将列表命名为“..Array”;)只需将其命名为“..List”
答案 3 :(得分:0)
不要忘记编写接口(而不是具体类)。
List<Player> numberofPlayers = new ArrayList<Player>(n);
忘记这样做(或者不知道)这是一个常见的初学者错误。
如果您决定稍后切换到备用列表实现(LinkedList或者Google Collection或Apache Commons Collection列表),您将不必更改列表的每个引用 - 只是初始分配。