Tenho esta classe ENUM abaixo, e é assim… ela lê uma planilha do excel… só que se possuir dados nas colunas que acima de 15 das 14 definidas, ele manda nulo para verificar no switch case, ai da erro… não estou conseguindo validar esse “furo”
[code]package br.com.simcard.en;
/**
Classe: TelecomCelulasEnum
Objetvio:
Enumerar a planilha recebida como arquivo e tratar as colunas
Comentário:
Essa classe Enum é utilizada para enumerar as planilhas em Excel recebidas
como arquivo da classe VerificarRegistroTelecom.java para manipular os
campos das colunas
Dos métodos:
obterCelulaTelecom(int) recebe o número da coluna e verifica na classe
que a chamaar em um CASE qual o número da coluna
**/
não entendi mto bem a pergunta, mas me parece que voce quer saber pq ta retornando nulo ne?
então, no seu método vc declara a variavel retorno como null, e ela só recebe outro valor se o nuColuna dela for igual ao parametro recebido, verifica se o parametro recebido é >=0 e <=13, se não for o retorno nulo acontece por isso, se o parametro estiver dentro do limite, posta aqui um exemplo de entrada, uma saida esperada e uma saida real.
aqui eu testei e seu código e acho que funcionou como esperado:
É isso… mas eu não sei como tratar… o caso é assim… ele vai até um arquivo excel e enumera as colunas… assim cada coluna represento por um código ai coloco a descrição… que é usada em outra classe no swith case…
eu queria tratar isso, se for um número diferente do enumerado não fazer nada e chamar o próximo… para não ficar enviando nulo para o swith case:
for (int nuCelulaAtual = 0; nuCelulaAtual < celulas.length; nuCelulaAtual++) {
Cell celula = celulas[nuCelulaAtual];
TelecomCelulasEnum celulaTelecom = TelecomCelulasEnum
.obterCelulaTelecom(nuCelulaAtual);
switch (celulaTelecom) {
case CARD:
linhaTelecom.setSimcard(celula.getContents());
break;
case LINHA:
linhaTelecom.setLinha(celula.getContents());
break;
Só que quando tem algo na coluna 15 ele não encontra valor e retorna o nulo… queria tratar isso para evitar problema
Normalmente sobreescrevo e recomendo o método valueOf para ter o resultado do seu método obterCelulaTelecom, pq para objetr um enum a partir de um valor é esse o método a ser utilizado.