Ciao,
la mia situazione è questa: dentro un metodo init() aggiungo 3 oggetti di tipo: PrioritaProcessiDTO ad una lista chiamata elements.

Ogni oggetto di tipo PrioritaProcessiDTO contiene solamente 3 campi: tipoProcesso (di tipo String che può valere solo: "annullamento", "sostituzione" o "controllo"), prioritaProcesso (di tipo int) e selezionato (di tipo boolean che però ora non serve)

La lista elements viene correttamente inizializzata, infatti il primo ciclo for stampa correttamente i valori contenuti nelle variabili tipoProcesso e prioritaProcesso di ogni oggetto nella lista.

Ora però vorrei fare in modo che: la lista elements venga scorsa dall'inizio alla fine e che venga creata una entry nella HashMap oldPriorityMap inserendo la coppia <Tipo Processo, Priorità Processo> con Tipo Processo come key per ogni elemento della lista, in pratica ho fatto così:

codice:
oldPriorityMap.put(elements.get(i).getTipoProcesso(), elements.get(i).getPrioritaProcesso());
che inserisce nella mappa il valore restituito da getTipoProcesso sull'oggetto in posizione i della lista come key ed il rispettivo valore di priorità come valore collegato a quella key.

Il codice della mia classe è il seguente:

[code]


Solo che non funziona infatti i successivi println di controllo mi ritornano null come se nella mappa non avesse messo nulla:

codice:
public void init() throws InfoportalWebException {
		try
		{
			System.out.println("Sono dentro il metodo init");
			PrioritaProcessiDTO annullamento = new PrioritaProcessiDTO("annullamento", 1);
			PrioritaProcessiDTO sostituzione = new PrioritaProcessiDTO("sostituzione", 2);
			PrioritaProcessiDTO controllo = new PrioritaProcessiDTO("controllo", 3);
			
			elements.add(annullamento);
			elements.add(sostituzione);
			elements.add(controllo);	
			
			int elementsSize = elements.size();		// Numero di elementi dentro la lista elements
			System.out.println("elementsSize: " + elementsSize);
			
			// Stampa cosa c'è nell'array elements:
			for(int i = 0; i < elementsSize; i++)
				System.out.println("Tipo Processo: " + elements.get(i).getTipoProcesso() + " Priorita Processo: " + elements.get(i).getPrioritaProcesso());
			
			// Inizializzo la mappa oldPriorityMap inserendo le coppie <Tipo processo, Priorità Processo>
			for(int i = 0; i < elementsSize; i++){			
				oldPriorityMap.put(elements.get(i).getTipoProcesso(), elements.get(i).getPrioritaProcesso());
			}
			
			// Stampa il contenuto della mappa relativo alle 3 key inserite:
			System.out.println("Controllo: " + oldPriorityMap.get(controllo));
			System.out.println("Sostituzione: " + oldPriorityMap.get(sostituzione));
			System.out.println("Annullamento: " + oldPriorityMap.get(annullamento));
			
			
		}
		catch(Exception ex3)
		{
			ex3.printStackTrace();
		}

	}
}
E questo è l'output che mostra che appunto sembra non abbia inserito nulla dentro la mappa:

codice:
Sono dentro il metodo init
elementsSize: 3
Tipo Processo: annullamento Priorita Processo: 1
Tipo Processo: sostituzione Priorita Processo: 2
Tipo Processo: controllo Priorita Processo: 3
Controllo: null
Sostituzione: null
Annullamento: null
Come mai? Cosa ho sbagliato? Come risolvere?

Grazie
Andrea