如何声明这样的实例变量:
private ArrayList<Contact> list = new ArrayList<Contact>();
或者我是否只能编写private ArrayList<Contact> list;
,然后每次在每种方法中创建new ArrayList
个对象?
答案 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
)。