我試圖與已經被拷貝構造改性的新對象設定我在Object2的向量位置1。矢量對象,使用setElementAt /設置
Generic object1 = new Generic();
//invoke the copy constructor of the Generic class
Generic object2 = new Generic(object1);
Vector<Generic> myVector = new Vector<Generic>();
myVector.add(object1);
myVector.add(object2);
此代碼的工作,當我使用它,我輸入的數據爲object1後,對象2得到了相同的數據
object2= new Generic(object1);
myVector.setElementAt(object2, 1);
不過,我想下面的代碼應與上述相同,但它確實不會給我與object1相同的數據(只是獲取object1的默認值)
myVector.setElementAt(new Generic(object1), 1);
第二個問題怎麼解決?
你是什麼意思「獲得儘可能object1相同的價值觀」和「第二個不工作」是什麼意思?假設'new Generic(object1)'是一個無狀態的構造函數,那麼這兩個代碼片段應該是相同的(模仿將一個值賦給'object2'的副作用)。 –
請提供更多代碼。有沒有隱式投射? – emesx
對不起人人,添加了更多代碼 – Dog