在下面的類中,我將一個字符串添加到向量(v1),然後將該向量(v1)添加到一個新的向量(v2)。然後我重新初始化Vector v1。當我重新初始化一個向量爲什麼它保持其值
java如何保留對v1的引用?當我重新initalise v1是java維護引擎蓋下的參考?
以下輸出爲「1」。
public class VectorTest {
public static void main(String args[]){
new VectorTest().testVector();
}
private void testVector(){
Vector v1 = new Vector();
Vector v2 = new Vector();
v1.add("1");
v2.add(v1);
v1 = new Vector();
Vector v3 = (Vector)v2.get(0);
System.out.println(v3.elementAt(0));
}
}
您改變了'v1'的引用,但這與'v2'持有對'v1'引用的相同'Vector'的引用是分開的。另外,如果你還沒有使用泛型,你可能需要研究一下。 – birryree
我想你喜歡探索事物......但Java是驚人的不是它......無論你做什麼它處理它......對這個問題+1沒想到它可能會以這種方式... – amod