我正在努力重新考虑代码库。我想知道内存中究竟发生了什么,当像Vector这样的容器在声明和使用它的方法中实例化两次时。代码如下。
Vector<String> rows = new Vector<String>();
在其使用的方法中,
rows = new Vector<String>();
答案 0 :(得分:6)
您的代码会创建两个单独的Vector
个实例。
如果你不在这两行之间使用变量,那么第一行是没有意义的。
答案 1 :(得分:6)
您最终会创建2个对象,但最后只保留一个。
Vector<String> rows = new Vector<String>();
rows = new Vector<String>();
您可以在声明期间将其安全地设置为null
,然后仅在您第一次使用rows变量时才发出第二行。
答案 2 :(得分:0)
分配了两个新的Vector
个对象。第二个不知道或不关心第一个被分配。