Anuncios

Bienvenidos sean a este post, hoy veremos un metodo de la clase Date.

Anuncios
Nota:
Esta clase como este metodo ya son obsoletos pero aun pueden usarse. Para ello, deben usar la opcion -Xlint al momento de compilarlo.
Anuncios

Este metodo nos hace un duplicado de un objeto en otro, veamos como es su sintaxis:

Object destino = objeto.clone();
Anuncios

El metodo se aplica en el objeto a copiar y este se asigna al destino. El objeto de destino debe ser de tipo Object porque es el tipo de dato que le asigna a la copia. Para entender el concepto vamos a realizar el siguiente ejemplo:

import java.util.*;

public class Fecha
{
  public static void main(String[] args)
  {
    Date fecha = new Date();

    System.out.println("fecha: " + fecha);
    System.out.println("Clonemos...");
    Object fecha2 = fecha.clone();
    System.out.println("fecha2: " + fecha2);
  }
}
Anuncios

Primero definimos un objeto con la fecha actual y lo primero que haremos sera mostrarla. Mostramos un mensaje indiccando la clonacion, y luego aplicamos el metodo al objeto anterior.. Esta operacion la asignamos a un nuevo objeto y es el que mostraremos despues de esto. Compilemos y veamos como es la salida:

$ java Fecha
fecha: Wed Jan 29 23:10:05 ART 2025
Clonemos...
fecha2: Wed Jan 29 23:10:05 ART 2025
$
Anuncios

Como pueden ver copio la informacion de un objeto al otro pero no el tipo de dato, por eso nos referimos a una copia superficial. Veamos un ejemplo de como modificar un dato con una copia:

import java.util.*;

public class Fecha
{
  public static void main(String[] args)
  {
    Date fecha = new Date();
    Date fecha2 = new GregorianCalendar(2025,Calendar.OCTOBER,22).getTime();

    System.out.println("fecha: " + fecha);
    System.out.println("Clonemos y cambiemos...");
    fecha = (Date) fecha2.clone();
    System.out.println("fecha: " + fecha);
  }
}
Anuncios

Mantenemos la primer variable tomando el dato de la fecha actual. Lo siguiente es crear otro mediante GregorianCalendar y le aplicamos a getTime para convertirlo a tipo Date. Con nuestras fechas generadas lo primero que haremos sera mostrar el valor de fecha. Mostramos un mensaje indicando la clonacion y cambio, para despues asignar en la primer variable el resultado de aplicar el metodo en el segundo objeto pero antes lo «casteamos» para convertirlo de tipo Object a Date. Para finalmente, mostrar el nuevo valor de fecha, compilemos y veamos la salida:

$ java Fecha
fecha: Wed Jan 29 23:19:11 ART 2025
Clonemos y cambiemos...
fecha: Wed Oct 22 00:00:00 ART 2025
$
Anuncios

Como pueden ver se pudo copiar la informacion de un objeto a otro de una manera muy simple, pero deben tener en cuenta el tema del tipo de dato al momento de trabajar con la copia.

En resumen, hoy hemos visto Date.clone, que es, para que sirve, como se utiliza, un ejemplo para ver como copia la informacion y otro para crearla y asignarla a un objeto existente. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donation

It’s for maintenance of the site, thanks!

$1.50