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
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;
}
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);