ciao ragazzi, nn ho mai programmato molto in java quindi magari è un errore banale...
questo metodo deve creare una lista di tipo misurazione, senza avere parametri in ingresso... e poi svuotare il buffer da cui copia le misurazioni.... ecco il codice
le stampe mi servivano per controllare dove sta il problema... infatti il primo giro mi stampa bene tutte le misurazioni ( il buffer viene riempito da un Thread di simulazione che genera valori casuali) mentre il secondo stampa solo due stringhe vuote e 0 ... dove sbaglio?codice:public synchronized List<Misurazione> leggi(){ List<Misurazione> listaMisu = new ArrayList<Misurazione>(); for (position=0; position<maxCapacity; position++ ){ listaMisu.add(position, simuBuffer[position]); System.out.println(listaMisu.get(position).getType()); System.out.println(listaMisu.get(position).getValue()); System.out.println(listaMisu.get(position).getTimestamp()); simuBuffer[position].setType(""); simuBuffer[position].setValue(""); simuBuffer[position].setTimestamp(0); } System.out.println ("secondo girooooo"); Iterator<Misurazione> iter = listaMisu.iterator(); while(iter.hasNext()){ Misurazione s=iter.next(); System.out.println(s.getType()); System.out.println(s.getValue()); System.out.println(s.getTimestamp()); } return listaMisu; }
![]()

Rispondi quotando