Ver Mensaje Individual
  #11 (permalink)  
Antiguo 25/09/2008, 00:29
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 3 meses
Puntos: 51
Respuesta: no entiendo esta expresión

Cita:
Iniciado por PachuG Ver Mensaje
GreenEyed gracias por tus explicaciones y aclaraciones. No te quiero cansar con este tema pero me quedan algunas dudas y espero si no es molestia que me la puedas aclarar.
No problemo, la idea es aprender entre todos.


Cita:
Iniciado por PachuG Ver Mensaje
Me confundí con String nombre = criteriosBusqueda.getString("Nombre");

la cual compilaría si no me equivoco y no necesitaría casteo.
Efectivamente. En este caso el metodo ya te asegura que devolverá un String, así que no tienes que decirlo tú.

Cita:
Iniciado por PachuG Ver Mensaje
lo que decia de la SQLException me confundí con esta, ya que la lanza si ocurre un error al acceder a la bd, por lo que el compilador te obliga a que esta sentencia vaya rodeada de try-catch.
Error al acceder a la BDD si que se consideran "esperados", así que con "chequed excepctions" y por tanto necesitan try/catch.

Cita:
Iniciado por PachuG Ver Mensaje
Coincido con vos en que si criteriosBusqueda.get("NOMBRE") devolvería un Object y necesitaría castearse a String, pero no encontré ese método en la API, por lo que te pido me pases un link a donde figure ese método y estaré muy agradecido.
Ahí es que creo que has confundido el objeto. En realidad no dice en ningun sitio que criteriosBusqueda sea un ResultSet y yo apostaría más bien que es una Collection, por eso le pide el cast pero no le pide try/catch .

Cita:
Iniciado por PachuG Ver Mensaje
Me mareaste un poco ahí. Veamos si coincidimos.

Java realiza comprobaciones en tiempo de compilación, o sea, en una asignación entre punteros el compilador verifica que los tipos sean compatibles, si no lo son, no compila, como en el caso de String nombre = criteriosBusqueda.get("NOMBRE"); y realiza comprobaciones en tiempo de ejecución, como por ejemplo cuando se usa un cast para accesar un objeto como si fuese de un tipo específico, verificando que el objeto sea compatible con el cast que se le aplica, si no lo es lanza una RuntimeException, como en el caso de String nombre = (String) criteriosBusqueda.get("NOMBRE") suponiendo que el tipo de dato en esa columna no sea String.
Correcto. Lo único que quería decir es que hay lenguajes que no te obligan a hacer el cast, y suponen que tu ya sabes lo que haces. Los errores que saltan en estos lenguajes y en Java son los mismos, en Runtime si el tipo no es compatible, y la única diferencia es que en Java el compilador es más cascarrabias y te obliga a escribir el cast. Simplemente eso.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Última edición por GreenEyed; 25/09/2008 a las 06:59 Razón: Arreglar un quote roto