Erro variável duplicada

Senhores estou com um problema, a ide Eclipse acusa o erro no código, variável duplicada, o que ocorre é que eu tenho um método que pode receber como parâmetro um Object paramDados, que poderá ser uma lista de Map ou poderá ser apenas um Map, minha lógica é fazer um teste (if) mais ai que a IDE acusa o erro, há como eu fazer isto de outra forma? será que eu estou errando em minha lógica no código abaixo?

	List dados;
	if (paramDados instanceof Map){
        // A IDE acusa o erro de variável duplicada aqui 
		List dados = new ArrayList();					
	    dados.add((Map)paramDados);
	} else {
		dados  = (List)paramDados;		    
	}

Estou usando Java 6 ou 7 por compatibilidade com bibliotecas utilizadas e sistema de legado.
Obrigado Robson

É que está duplicada mesmo

	List dados; // aqui declarou a variável dados
	if (paramDados instanceof Map){
		List dados = new ArrayList(); // aqui está tentando declarar novamente a variável dados
	    dados.add((Map)paramDados);
	} else {
		dados  = (List)paramDados;
	}

Olá staroski boa tarde.

Sim sei disto realmente esta duplicada, mais foi a forma que eu pensei em resolver o meu “problema” eu recebo um objeto que poderá ser uma lista ou pode ser um Map

Eu declarei uma variável do tipo List, se o que eu recebo for uma lista (lista de Mapas) eu atribuo a variável declarada, agora se eu recebo apenas um Map , foi ai que eu empreguei a lógica no If porque depois eu vou percorrer a lista como esta abaixo

for (int i = 0; i < dados.size(); i++) {
		Map<String, String> map = (Map<String, String>) dados.get(i);

Teria outra forma de fazer isto?

Olá! staroski boa tarde.

Consegui meu caro, tranquilo

List dados;
if (paramDados instanceof Map){
	dados = new ArrayList();					
    dados.add((Map)paramDados);
} else {
	dados  = (List)paramDados;		    
}

Olá rlira, você pode sempre usar “foreach” se sua necessidade é percorrer do inicio ao fim de uma lista.
Exemplo:

Dessa forma você percorre toda a lista, somente com a referencia da lista e a referencia com o que está contido nela.

Mais Exemplos: Percorrendo ArrayList com For-each
Mais Informações: https://docs.oracle.com/javase/8/docs/technotes/guides/language/foreach.html

1 curtida