如何在java中正确声明引用变量?

时间:2014-04-28 23:24:50

标签: java variables reference

如何声明这样的实例变量:

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

或者我是否只能编写private ArrayList<Contact> list;,然后每次在每种方法中创建new ArrayList个对象?

3 个答案:

答案 0 :(得分:1)

你可以做到这两点。第一个叫做初始化,第二个叫做声明。

相关SO主题 - Java: define terms initialization, declaration and assignment

答案 1 :(得分:1)

您还可以在类构造函数中初始化变量:

this.list = new ArrayList<Contact>();

答案 2 :(得分:1)

这样声明就好了:

private ArrayList<Contact> list;  // initializes list to null

然后创建一个新的ArrayList

list = new ArrayList<Contact>();  // assignment statement

但你可能不想做这个任务&#34;每次都在每个方法中#34;。每次执行上述赋值语句时,程序都会创建一个空数组并将list设置为该数组;如果list之前是另一个ArrayList,则该列表中的所有内容都将被丢弃(除非您将其复制到其他地方)。这可能不是你想要的。最有可能的是,您只想创建一个新数组,因此赋值语句可能会放在构造函数中,就像在@coder的答案中一样。如果你确实有一个实际上想要创建一个新的空ArrayList并删除以前数据的方法,你可以使用上面的赋值(或者说list.clear()删除所有元素)来自ArrayList)。