实例化ArrayLists

时间:2018-02-22 20:54:30

标签: java arraylist

我正在完成一项让我除其他事项之外的任务:

添加数据类型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<>();

2 个答案:

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