在声明和方法中两次调用新的关键字

时间:2013-10-21 14:39:22

标签: java collections

我正在努力重新考虑代码库。我想知道内存中究竟发生了什么,当像Vector这样的容器在声明和使用它的方法中实例化两次时。代码如下。

Vector<String> rows = new Vector<String>();

在其使用的方法中,

rows = new Vector<String>();

3 个答案:

答案 0 :(得分:6)

您的代码会创建两个单独的Vector个实例。

如果你不在这两行之间使用变量,那么第一行是没有意义的。

答案 1 :(得分:6)

您最终会创建2个对象,但最后只保留一个。

Vector<String> rows = new Vector<String>();

enter image description here

rows = new Vector<String>();

enter image description here

您可以在声明期间将其安全地设置为null,然后仅在您第一次使用rows变量时才发出第二行。

答案 2 :(得分:0)

分配了两个新的Vector个对象。第二个不知道或不关心第一个被分配。