quinta-feira, 20 de julho de 2017

Método clone - copiando valores

Se queres clonar um objeto, que nada mais é,
que criar uma cópia fiel dos valores contidos
em um array como neste exemplo que apresento aqui,
te indico o método clone();
Uma das vantagens de usar o método clone();
é que com ele não precisamos reservar memória
para o array que receberá a cópia do original,
isto será feito automaticamente pelo método clone();
e o mais incrível é que este poderoso método
não usa nenhum parâmetro para trabalhar.

Veja abaixo uma imagem do programa em execução:


Veja abaixo o código do programa:

public class PROJETO {
     public static void Inform ( ) {
         J jht = new J ( );
         // ////////////////////////////////////////////////////
         // Parâmetros da função printfx
         // Coord x, Coord y, String, cor de frente, cor de fundo,
         // Comprimento, Tempo, frequência, duração.
         jht.printfx ( 17, 14, "Por: ", 12, 15, 5, 0, 1000, 200 );
         jht.printfx ( 22, 14, "Samuel Lima", 9, 15, 11, 0, 0, 0 );
         jht.printfx ( 17, 15, "sa_sp10@hotmail.com", 0, 15, 20, 1800, 0, 0 );
         jht.printfx ( 21, 17, "MUITO OBRIGADO", 12, 15, 15, 0, 0, 0 );
     }
     public static void main ( String [ ] args ) {
         J jht = new J ( );
         jht.Moldura ( 1, 19, 2, 53, 15 );
         jht.poscolor ( 12, 2, 12, 15 );
         System.out.println ( "MÉTODO CLONE - COPIANDO VALORES" );
         int i;
         String [ ] str1 = new String [ ] { "A", "B", "C", "D" };
         jht.poscolor ( 15, 4, 9, 15 );
         System.out.printf ( "O valor de str1 é => " );
         jht.textcolor ( 12 );
         for ( i = 0; i < str1.length; i++ )
              System.out.print ( str1 [ i ] );
         jht.poscolor ( 15, 6, 0, 15 );
         System.out.print ( "Copiando str1 em str2 ..." );
         //Copiando os valores de str1 em str2
         //Através do método clone();
         String [ ] str2 = str1.clone ( );
         jht.poscolor ( 15, 8, 9, 15 );
         System.out.printf ( "O valor de str2 é => " );
         jht.textcolor ( 12 );
         for ( i = 0; i < str2.length; i++ )
              System.out.print ( str2 [ i ] );
         Inform ( );
     }

}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.