Alteração de elemento no Vector

5 respostas
mascotto

Vou colocar um trecho do código-fonte pra poder explicar minha dúvida:

.

.

MinhaClasse _mc = (MinhaClasse) vetMinhaClasse.elementAt(x);

_mc.intValor = 2;

vetMinhaClasse.setElementAt(_mc, x);

.

.

Eu preciso recolocar ‘_mp’ no Vector para não perder a atualização que eu fiz?

Obrigado!

5 Respostas

F

legal, eu duvido tu conseguir complicar mais essa explicaçao hehehehe

tem como explicar melhor? ou por o codigo real nao um esboço …

(obs, ja tentei entender mais nao vi motivos para mudar o codigo pra posta o.O)

thiago.correa

Sim, dá uma olhada no teste

public static void main(String[] args) {
            Vector v = new Vector()            ;
            v.add(new Valor());
            
            Valor v2 = (Valor)v.get(0);
            System.out.println(v2.numero);
            v2.numero = 3;
            v.set(0, v2);
            
            
            Valor v3 = (Valor)v.get(0);
            System.out.println(v3.numero);

        }
victorwss

Melhor ainda. Não use Vector. Use ArrayList, LinkedList, ou qualquer outra coisa que não seja Vector e nem plain-old-pure-arrays.

mascotto

Na verdade não é necessário recolocar no Vector.
Só mudar pela referência ao objeto já altera ‘dentro’ do Vector.

Fiz o teste comentando a linha 08 e o resultado foi o mesmo!

mascotto

Uma pena não ter isso no ME! :wink:

Criado 2 de dezembro de 2008
Ultima resposta 2 de dez. de 2008
Respostas 5
Participantes 4