有时我看到ArrayLists声明为
ArrayList<String> str;
而有时我看到它像
一样ArrayList<String> str = new ArrayList<String>();
这两者有什么区别吗?或者是相同的,是否比使用另一个更好?
答案 0 :(得分:3)
ArrayList<String> str
这只是变量声明
ArrayList<String> str = new ArrayList<String>();
是str变量的初始化,默认大小为10。
答案 1 :(得分:1)
在第一个中只有一个对象的声明,而在第二个中你也进行了初始化。
在初始化对象的位置没有约束,除非在尝试访问对象之前它应该发生。
答案 2 :(得分:1)
第一个代码段只是声明 ArrayList
(此时它是null
),第二个代码段是声明并实例化它。没有任何明显的区别,恕我直言,第二个版本更有用,所以你不会冒险忘记实例化对象。