Java 在将对象添加到arraylist中覆盖
这件事让我头痛了一阵子,我正试图找出问题所在,却找不到答案。基本上,它会覆盖列表中以前的每个对象Java 在将对象添加到arraylist中覆盖,java,object,arraylist,add,overwrite,Java,Object,Arraylist,Add,Overwrite,这件事让我头痛了一阵子,我正试图找出问题所在,却找不到答案。基本上,它会覆盖列表中以前的每个对象 public class ProcessadorDeSinaisImpl implements ProcessadorDeSinais { private List<GeradorDeEvento> gerador = new ArrayList<GeradorDeEvento>(); private List<Evento> listaEvento = ne
public class ProcessadorDeSinaisImpl implements ProcessadorDeSinais {
private List<GeradorDeEvento> gerador = new ArrayList<GeradorDeEvento>();
private List<Evento> listaEvento = new ArrayList<Evento>();
public void adicionarGerador(GeradorDeEvento geradorDeEvento) {
gerador.add(geradorDeEvento);
}
public List<Evento> processarSinais(List<Sinal> sinais) { // Lista de sinais gerada pelo GeradorDeSinais !!!!
Evento resultado;
for(int i=0; i < gerador.size(); i++){
for(int j=0; j < sinais.size(); j++)
{
resultado = new EventoImpl();
resultado = gerador.get(i).gerarEvento(sinais.get(j));
if(resultado != null)
{
listaEvento.add(resultado);
}
}
}
return listaEvento;
}
公共类ProcessAdorDesinaSimpl实现ProcessadorDeSinais{
private List gerador=new ArrayList();
private List listaEvento=new ArrayList();
公共无效adicionarGerador(GeradorDeEvento GeradorDeEvento){
gerador.add(gerador Deevento);
}
公共列表流程(列表sinais){//Lista de sinais gerada pelo GeradorDeSinais!!!!
结果事件;
for(int i=0;i
}试着做:
Evento resultado = new EventoImpl();
resultado = gerador.get(i).gerarEvento(sinais.get(j));
在循环my之外声明变量可能会导致问题此行`resultado=new EventoImpl()`是无用的,因为resultado在下一行被分配到另一个对象的引用。你到底有什么问题?@alainlompo我的问题是,即使我从“gerador.get(I).geravento(sinais.get(j))”接收到的Evento不是空的,它们也会在我将它们添加到列表中时相互覆盖。这发生在if语句之前