Foros del Web » Programación para mayores de 30 ;) » Java »

Obtener un "tipo de dato" a partir de un String

Estas en el tema de Obtener un "tipo de dato" a partir de un String en el foro de Java en Foros del Web. Saludos! Esta es mi primera participacion en este foro. Mi duda es si conocen algun metodo para que a partir de un String se pueda ...
  #1 (permalink)  
Antiguo 11/04/2012, 23:55
 
Fecha de Ingreso: abril-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Pregunta Obtener un "tipo de dato" a partir de un String

Saludos!
Esta es mi primera participacion en este foro. Mi duda es si conocen algun metodo para que a partir de un String se pueda definir un tipo de variable. Ejemplo

public void metodo(String tipo){
//suponiendo que tipo contiene la cadena "int" se puede generar
int var;
//suponiendo que tipo contiene la cadena "boolean" se puede generar
boolean b;
}

podria hacer algo asi como un

if(tipo.equals("boolean")){
boolean var;
}

pero lo necesito para una base de postgres y me parece que se manejan bastantes tipos

De antemano gracias por sus respuestas
  #2 (permalink)  
Antiguo 12/04/2012, 00:56
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Obtener un "tipo de dato" a partir de un String

Por ejemplo para un boolean

if(tipo.equals("true") || tipo.equals("false") ) {
boolean tipoBoolean = Boolean.valueOf(tipo);
}

Para los tipos numéricos podrías usar un tryParse ... ejemplo para la clase Integer

public static Integer tryParse(String text) {
try {
return new Integer(text);
} catch (NumberFormatException e) {
return null;
}
}

como ves tienes que controlar posibles excepciones.

Además aquí tienes que tener en cuenta que un número puede ser convertido a muchos tipos primitivos.

Si lo que quieres es diferenciar un numero con decimales dependerá del formato en el que te venga (además habría que controlar si viene con puntos, comas, etc) todo depende de la complejidad que quieras tener.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 12/04/2012, 04:34
 
Fecha de Ingreso: abril-2012
Ubicación: Madrid
Mensajes: 28
Antigüedad: 12 años
Puntos: 3
Respuesta: Obtener un "tipo de dato" a partir de un String

Me queda una duda sobre la pregunta de oskar_ram.

En tu String tipo... ¿qué información puede llegar?


Porque la respuesta de Fuzzylog considera que si tipo = "True" o tipo = "false", pero por lo que planteas, tu quieres decir si por ejemplo:

tipo = "int4" => construir un int de valor 4
tipo = "booleanfalse" => construir un boolean falso

O bien:

tipo = "int" = construir un int donde luego le vas a dar el valor de otra variable...


No se si me he explicado, pero creo que nos vendría bien un ejemplo

Etiquetas: dato, string, tipo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:54.