Нет, Vector
содержит ссылку на исходный объект - как и ваша переменная myVar
. Очень важно понимать, что переменная (или даже любое выражение) может никогда на самом деле не иметь значения, которое является объектом. Значением является либо значение типа примитива (целое число, символ и т. Д.), Либо ссылка на объект, либо значение NULL.
Когда вы вызываете v1.add(myVar)
, это копирует значение myVar
в вектор ... это значение является ссылкой. Когда вы изменяете объект, на который ссылается ссылка, это изменение будет видно через все ссылки на объект.
Думайте об этом так: предположим, у меня есть дом с красной дверью, и дайте мой адрес двум разным людям. Первый человек приходит и красит мою дверь в зеленый цвет. Если второй человек придет и осмотрит дом, он увидит, что дверь тоже зеленая ... потому что он смотрит на тот же дом через копию ссылки (адрес в данном случае).
(Кроме того, есть ли какая-то причина, по которой вы все еще используете Vector
вместо более распространенного ArrayList
? )