Classe Vector + Cast

4 respostas
C

Ola.

Adiciono um inteiro a 1 vector:

vector.addElement(new Integer(inteiro));

Mais tarde quis usar os valores do vector como inteiros.

sprite.setPosition(vector.elementAt(i),vector_aux.elementAt(i));

O metodo setPosition so aceita inteiros, mas o vector.elementAt(i) é do tipo Object.

Tentei da seguinte maneira(cast de Object para String e depois de String para inteiro):
String string = Integer.parseInt((String)vector.elementAt(i));

Compilou mas dp qd foi a correr deu a seguinte msg:
Uncaught exception java/lang/ClassCastException.

Como faço o cast de Object pra inteiro?

Obrigado

4 Respostas

J

Cara vc colocou um Integer depois queria fazer cast pra String…
Ai que ta…

Use assim

((Integer)vector.elementAt(i)).intValue()

Outra coisa cara use ArrayList é mais rápido:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html

J

Use Generics pra não precisar fazer cast:

Vector<Integer> vector = new Vector<Integer>();

vector.add(inteiro);

sprite.setPosition(vector.elementAt(i), vector_aux.elementAt(i));
C

Olá,
Pessoas, JavaME não tem ArrayList muito menos Generics.

Até mais!

C

Se tivesse ArrayList e generics n tava com este problema :wink:
Estava a fazer confusao no cast, era o sono

Obrigado

Criado 21 de dezembro de 2006
Ultima resposta 21 de dez. de 2006
Respostas 4
Participantes 4