Ola pessoal,
Estou com uma duvida, gostaria de saber o porque ocorre a copia indevida de valores em listas completamente distintas.
Em seguida, o meu codigo e a explicação do que exatamente ocorre.
public DualListModel<Atividade> pickListAtividades() {
List<Atividade> target = getAtividades();
List<Atividade> source = getAtividades();
DualListModel<Atividade> dualAtividades;
//link of Task (selected) and Activity on Task map,
// working like a memory for activities changes on pickList (primefaces), deleted and added
if (mapTarefa.containsKey(tarefa)){
dualAtividades = mapTarefa.get(tarefa);
return dualAtividades;
}else{
Collection<DualListModel<Atividade>> coll = mapTarefa.values();
List<DualListModel<Atividade>> listDualList = new ArrayList<DualListModel<Tarefa>>(coll);
for (DualListModel<Atividade> dualListModel : listDualList) {
List<Atividade> _target = dualListModel.getTarget();
for(Atividade ac : _target) {
target.add(ac);
}
List<Atividade> _source = dualListModel.getSource();
for(Atividade ac : _source){
source.add(ac);
}
}
dualAtividades = new DualListModel<Atividades>(source,target);
return dualAtividades;
}
}
dualAtividades= new DualListModel<Atividades>(source,target);
dualListModel.getSource()
for(Atividade ac : _target) {
target.add(ac);
}
Quando é feito a copia dos elementos da lista _source para a lista source, é realizado a copia dos mesmos valores que tem a lista _target.
Alguém poderia me explicar o que ocorre e o porque ?
Muito obrigado.
(espero que a pergunta tenha ficado clara, qualquer duvida so perguntar)