Casteo

Hola, qué tal? Tengo en una variable de tipo Object, un array de chars. Lo que necesito es transformarlo a array de chars para recorrelo. Cómo debo/puedo transformarlo? Gracias.

1 respuesta

Respuesta
1
¿Puedes especificarme su declaración?
Te mando el código. El problema lo tengo cuando quiero imprimir el array de chars. Gracias.
import java.util.*;
public class MyVector extends Vector {
public MyVector() {
super(1,1);
}
public void agregarElemento(int i) {
addElement(new Integer(i));
}
public void agregarElemento(float f) {
addElement(new Float(f));
}
public void agregarElemento(String s) {
addElement(s);
}
public void agregarElemento(char[] a) {
addElement(a);
}
public static void main(String[] args) {
MyVector v = new MyVector();
v.agregarElemento(4);
v.agregarElemento(4.5f);
v.agregarElemento("Juanes");
char c[] = {'a','b','c'};
v.agregarElemento(c);
v.printVector();
}
public void printVector() {
Object o;
for(int i=0; i<this.size(); i++) {
o = elementAt(i);
if(o instanceof char[]) {
printArray(o.toCharArray());
}
else
System.out.println(o);
}
}
public void printArray(char[] c) {
//System.out.println(o.size());
}
}
Prueba como sigue, al final una rray de char es un string :)
import java.util.*;
public class MyVector extends Vector {
static int INT = 1;
static int FLOAT = 2;
static int STRING = 3;
static int CHAR = 4;
public MyVector() {
super(1,1);
}
public void agregarElemento(int i) {
addElement(new Dato(new Integer(i),INT));
}
public void agregarElemento(float f) {
addElement(new Dato(new Float(f),FLOAT));
}
public void agregarElemento(String s) {
addElement(new Dato(s,STRING));
}
public void agregarElemento(char[] a) {
addElement(new Dato(new String(a),CHAR));
}
public static void main(String[] args) {
MyVector v = new MyVector();
v.agregarElemento(4);
v.agregarElemento(4.5f);
v.agregarElemento("Juanes");
char c[] = {'a','b','c'};
v.agregarElemento(c);
v.printVector();
}
public void printVector() {
Dato o;
for(int i=0; i<this.size(); i++)
{
o = (Dato)this.elementAt(i);
int tipo = o.tipo;
switch(tipo)
{
case 1: //INT
System.out.println(o.valor);
break;
case 2: //FLOAT
System.out.println(o.valor);
break;
case 3: //STRING
System.out.println(o.valor);
break;
case 4: //CHAR
String valores = (String)o.valor;
for (int j=0; j < valores.length(); j++)
{
System.out.print(valores.charAt(j)+",");
}
}
}
}
public void printArray(char[] c) {
//System.out.println(o.size());
}
class Dato
{
Object valor;
int tipo;
public Dato(Object valor, int tipo)
{
this.valor = valor;
this.tipo = tipo;
}
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas