我正在完成一项让我除其他事项之外的任务:
添加数据类型ArrayList的成员变量来表示游戏的两个团队,然后编写方法createTeams(),实例化ArrayList类型的成员变量,并实例化类Team的两个实例。
我就是这样做的:
private ArrayList<Team> Teams;
public void createTeams(){
ArrayList<Team> TeamOne = new ArrayList<Team>();
ArrayList<Team> TeamTwo = new ArrayList<Team>();
}
然而,netbeans对此的反应让我想知道,这三个代码块之间有什么区别?
ArrayList<Team> TeamOne = new ArrayList<Team>();
-
ArrayList<Team> TeamOne;
-
ArrayList<Team> TeamOne;
TeamOne = new ArrayList<>();
答案 0 :(得分:0)
第一行是在TeamOne对象的一行代码中声明并实例化。 第二行只是声明,但没有实例化TeamOne对象。 第三行(最后一行)在第一行中声明TeamOne对象,然后在第二行声明TeamOne对象。
答案 1 :(得分:0)
ArrayList<Team> TeamOne = new ArrayList<Team>();
声明一个ArrayList类型的变量,名为TeamOne并为其赋值;
ArrayList<Team> TeamOne;
只声明变量/ reference;
ArrayList<Team> TeamOne; //declares the reference
TeamOne = new ArrayList<>(); //assigns value to it
第一个被称为&#34;在线初始化&#34;。
两个观察结果:
遵循这些建议,您的代码将如下所示:
private List<Team> teams;
public void createTeams(){
List<Team> teamOne = new ArrayList<Team>();
List<Team> teamTwo = new ArrayList<Team>();
}