Duda setteando hora objeto.setHrInicio(new Date("06:00"));

 

 
Esto es correcto el setHrIn..... ?

Saludos .....

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

WTF?

Date es una clase que guarda hora Y fecha. Realmente guarda el número de milisegundos que han trascurrido desde una fecha de referencia (1 de enero de 1970, a las 0 horas, en GMT).

El constructor de Date que recibe un String está deprecado desde JDK 1.1, de verdad no sé por qué no lo han quitado ya.

Si estás buscando hacer operaciones con rangos de hora y cosas así, revisa JodaTime, no reinventes el hilo negro.

Si, es correcto ( de inicio )

Si, es correcto, de inicio.

Acá van varias recomendaciones:
En Java la convención es usar mayúsculas en el nombre de la clase, y la mayoría de las veces es mejor crear objetos inmutables porque son más confiables, por lo que la mejora quedaría así:

 

Que si te fijas es casi lo mismo.

La razón por la cual se quita el setter y por la cual se crea un nuevo Date en el getter es por lo siguiente:

  es mutable, si utilizas esa clase para guardar una hora y regresas tu original te lo pueden alterar:

 

Por la misma razón no hay un setter y el constructor crea uno nuevo cuando lo recibe ( si... es un poco paranoico, pero es lo malo de los objetos mutables )

La segunda parte no está correcta, creando un objeto Date desde un String. Como dice Enrique este deprecado y Java nunca lo ha quitado por si había código que lo usara, pero en realidad no se debe de escribir más.

Ve la documentación:

http://download.oracle.com/javase/6/docs/api/java/util/Date.html#Date(java.lang.String)

Dice:

Deprecated. As of JDK version 1.1, replaced by DateFormat.parse(String s). O sea hace casi .. no sé 12 años o algo así.

Ahí mismo viene el el sustituto:

http://download.oracle.com/javase/6/docs/api/java/text/DateFormat.html#parse(java.lang.String)

Como DateFormat es abstracto no lo puedes instanciar, puedes obtener una isntancia con el método:

 

O bien puedes crear una instancia con SimpleDateForma que es el más común:

 

Este método lanza una excepción que te sirve en este caso para proveer un valor en caso de que falle o tomar alguna acción, entonces el ejemplo completo quedaría:

 

:) :) :) ... ya no fue tan sencillo, pero es importante saber porque pasan las cosas.

Ahí te va el link de JodaTime: como alternativa.

Espero que esto te sirva.

Entonces esto es válido

Así tambíen es válido.

 

Ándele... ahora nada más

Ándele... ahora nada más pruebalo y de preferencia deja la prueba que puedas correr automáticamente.

Busca en Google "pruebas unitarias"

Lo que te ayudará es que cuando siga creciendo tu programa puedes ver si cuando le mueves a otra parte de tu código esta de aquí no se rompe ( no debería )

Saludos.