[Resolvido] = Erro ao atribuir uma matriz e/ou Clonar a outra Matriz

6 respostas
JavaX_JavaX

Boa Tarde Pessoal !!

Conto com a ajuda de vcs

Bom tenho quatro estrutura de matriz com valores conforme segue abaixo codigo abaixo

final int Estrutura[] = {};                                                    // Estrutura da Tabela Tipo00 Campo a Campo

 final int EstruturaTipo00[] = {  2,  5,  5,  8,  5,  6,  2};                   // Estrutura da Tabela Tipo00 Campo a Campo
  
 final int EstruturaTipo01[] = {  2,  8,  8, 14,  1, 40, 14, 55, 20, 10         // Estrutura da Tabela Tipo01 Campo a Campo
                                   , 10, 10, 12,  8,  4,  6, 52, 70, 70         // Estrutura da Tabela Tipo01 Campo a Campo
                                   , 70, 70, 70, 70, 70, 50, 50, 20,  3         // Estrutura da Tabela Tipo01 Campo a Campo
                                   , 10, 10, 20,  1,  1, 34,  5};               // Estrutura da Tabela Tipo01 Campo a Campo
  
 final int EstruturaTipo02[] = {  2, 10, 10, 10, 10, 20, 10, 10, 10 };          // Estrutura da Tabela Tipo02 Campo a Campo

 
 final int EstruturaTipo03[] = {  2,  2, 10, 10, 10, 10, 10, 28, 10, 10, 10};   // Estrutura da Tabela Tipo03 Campo a Campo

Bom, a Matriz com o Nome de estrutura sera atribuida com as demais matrizes conforme satisfação da condição abaixo

System.out.println(dadosEntrada);
      header = dadosEntrada.substring(0,2);
      System.out.println(header);
      
      if (header.equals("00")) {
        Estrutura = EstruturaTipo00;
       } else if (header.equals("01")) {
        Estrutura = EstruturaTipo01;
         } else if (header.equals("02")) {
         Estrutura = EstruturaTipo02;
           } else if (header.equals("03")) {
            Estrutura = EstruturaTipo03;
           }

Porem não cosigo fazer essa atribuição Solicito a Ajuda de Vocês Grato

6 Respostas

Rodrigo_Sasaki

você não pode atribuir um valor novo à uma variável marcada como final.

JavaX_JavaX

Obrigado , mas me de sua opinião, posso clonar do jeito que está no codigo que segue abaixo , bom fiz com a primeira tabela e funcionou

if (header.equals("00")) {
        Arrays.equals(Estrutura.clone(), EstruturaTipo00);
        campos = "TipoReg, Lixo1, Agencia, Conta, Carteira, CodCedente, Especie"; 
        tabela = "Tipo00";
      } else if (header.equals("01")) {
          Arrays.equals(Estrutura.clone(), EstruturaTipo01);
         } else if (header.equals("02")) {
            Arrays.equals(Estrutura.clone(), EstruturaTipo02);
           } else if (header.equals("03")) {
              Arrays.equals(Estrutura.clone(), EstruturaTipo03);
           }
Rodrigo_Sasaki

seu código está bem estranho.

pra que esse monte de Arrays.equals? só pra depurar?

JavaX_JavaX

digaoneves:
seu código está bem estranho.

pra que esse monte de Arrays.equals? só pra depurar?

Obrigado pela atenção:

Bom deixa eu tentar te explicar , na verdade esses estrutura são a dimensão de campos de uma tabela de banco de bados exemplo

estrutura tipo01 e uma tabela , eu verifico um arquivo texto e quando eu acho o header correspondente 01 dentro do arquivo e carrego a tabela com os dados

espero ter conseguido explicar

Obrigado mais uma vez

E

Por acaso você está tentando copiar Estrutura.clone() dentro de EstruturaTipo03? Arrays.equals só compara dois arrays, não faz cópias (procure aqui qual é o método que retorna uma cópia de um array:

http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html

Eu lhe dou a página, em vez de dizer diretamente qual o método certo,

  1. Porque não sei o que você precisa realmente, e
  2. Para você aprender a pesquisar.

Se o inglês é um empecilho para você, use o Google Translator ou o Microsoft Translator.

JavaX_JavaX

entanglement:

Arrays.equals(Estrutura.clone(), EstruturaTipo03);

Por acaso você está tentando copiar Estrutura.clone() dentro de EstruturaTipo03? Arrays.equals só compara dois arrays, não faz cópias (procure aqui qual é o método que retorna uma cópia de um array:

http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html

Eu lhe dou a página, em vez de dizer diretamente qual o método certo,

  1. Porque não sei o que você precisa realmente, e
  2. Para você aprender a pesquisar.

Se o inglês é um empecilho para você, use o Google Translator ou o Microsoft Translator.

Muito Obrigado Creio ser o suficiente

att JavaX

Bom Galera!! Obrigado Novamente

Segue Abaixo o Codigo de como foi Resolvido o Problema

//Começo Estrutura dos Dados nas Tabelas Começo ********************************
 int Estrutura[] = {};                                                          // Estrutura da Tabela Tipo00 Campo a Campo

 final int EstruturaTipo00[] = {  2,  5,  5,  8,  5,  9,  2};                   // Estrutura da Tabela Tipo00 Campo a Campo


 final int EstruturaTipo01[] = {  2,  8,  8, 14,  1, 40, 14, 55, 20, 2          // Estrutura da Tabela Tipo01 Campo a Campo
                               , 10, 10, 12,  8,  4,  6, 52, 70, 70, 70         // Estrutura da Tabela Tipo01 Campo a Campo
                               , 70, 70, 70, 70, 50, 50, 20,  3, 10, 10, 10     // Estrutura da Tabela Tipo01 Campo a Campo
                               , 20,  1,  1, 34,  5};                           // Estrutura da Tabela Tipo01 Campo a Campo
  
 final int EstruturaTipo02[] = {  2, 10, 10, 10, 10, 20, 10, 10, 10 };          // Estrutura da Tabela Tipo02 Campo a Campo
 
 
 final int EstruturaTipo03[] = {  2,  2, 10, 10, 10, 10, 10, 28, 10, 10, 10};   // Estrutura da Tabela Tipo03 Campo a Campo
 
 Statement instrucao;
//Final  Estrutura dos Dados nas Tabelas Começo ********************************


      if (header.equals("00")) {
        tabela    = "Tipo00"+Util.Space(1);
        Estrutura =  EstruturaTipo00.clone();
        campos    = "TipoReg,Lixo1,Agencia,Conta,Carteira,CodCedente,Especie";
       } else if (header.equals("01")) {
         tabela    = "Tipo01"+Util.Space(1);
         Estrutura =  EstruturaTipo01.clone();
         campos    = "TipoReg,Cep,Processo,Nossonum,DigNosso,Nome,Cpf,"
                   + "Endereco,Cidade,Estado,Vencimento,Limite,telefone,"
                   + "CodDevedor,CodCredor,Remessa,Brancos,Filial01,"
                   + "Filial02,Filial03,Filial04,Filial05,Filial06, "
                   + "Filial07,Titulo1,Titulo2,Contrato,Desconto,ValorTot,"
                   + "CodDivida,Lixo_1_To1,"
                   + "NumPostal,CodCep,CodTri,CodCif,Categoria";
         } else if (header.equals("02")) {
           tabela    = "Tipo02"+Util.Space(1);
           Estrutura =  EstruturaTipo02.clone();
           campos    = "TipoReg,Vencimento,ValorAtual,Desconto,ValorDesc,"
                     + "Contrato,CodSegu2,PercDesc2";
           } else if (header.equals("03")) {
             tabela    = "Tipo03"+Util.Space(1);
             Estrutura =  EstruturaTipo03.clone();
             campos    = "TipoReg,Parcelas,ValorEntra,ValorParc,ValorAvist,"
                       + "CodSeg,Lixo3,PercDesc2,Cet_Mes,Cet_Ano";
            }
Criado 4 de setembro de 2012
Ultima resposta 5 de set. de 2012
Respostas 6
Participantes 3