Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/09/2008, 19:41
PachuG
 
Fecha de Ingreso: septiembre-2008
Ubicación: Córdoba
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: no entiendo esta expresión

String nombre = (String) criteriosBusqueda.get("NOMBRE");
Peligrosa expresion !!!
FUNCIONA ?????????
Creo que siempre que sea un String funcionara.

// Esta me parece Mejor
String nombre = criteriosBusqueda.get("NOMBRE").toString();

Siempre y cuando sea un object y tenga redifinido el metodo toString(), si no devolvera cualquier cosa creo (por supuesto a menos que sea un String)

Y para los tipos de datos primitivos como int, long, double, etc?

Bueno cada tipo de dato tiene un Wrapper que poseen metodos para convertir a String cada uno de estos.

Por ej. para devolver el String de un entero

Integer.valueOf(int);

Creo que para los demas wrappers es el mismo metodo

Por ej. Double.valueOf(int)

Estos metodos devuelven Strings

Su signatura o cabecera de metodo,(no recuerdo la expresion, creo que es lo mismo), seria

String valueOf(int valor)

//////////////////************///////////////////////
En este caso creo que esta queriendo acceder al campo de una bd
Me parece que no hace falta el casteo, ya que por el nombre del campo sera un String y por supuesto que quien hace la aplicacion sabra bien que es.

String nombre = (String) criteriosBusqueda.get("NOMBRE");

Tranquilamente puede convertirse en

String nombre = criteriosBusqueda.get("NOMBRE");

O sea, el casteo para mi no hace nada, mas que dificultar la lectura y seguro que trabajo al pedo.

Suerte..., espero que haya aclarado un poco