Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Java] Problema nell'accedere agli elementi di un array

    Ciao,
    ho un problemino nel seguente metodo.
    Ho un array formato da 2 oggetti di tipo Attivita.
    Sostanzialmente è come se non riuscisse ad effettuare l'accesso alle variabili contenute negli oggetti Attivita dentro questo array.

    Ho inserito vari System.out.println per monitorare nella console quello che succede quando tale metodo viene invocato

    Il codice è il seguente:

    codice:
    public it.accenture.danni.services.AttivitaPersonaResponse attivitaPersona
                      (
                      it.accenture.danni.services.AttivitaPersona attivitaPersona
                      )
                {	
                    	 System.out.println("AnagraficaServiceServiceSkeleton --> attivitaPersona()");
                    	AttivitaPersonaResponse result = new AttivitaPersonaResponse();
                    	
                    	// Oggetto Calendar generale:
         				GregorianCalendar data = new GregorianCalendar(2011, 4, 4, 1, 1);
                    	 
                    	// Creo un array di attività:
    					Attivita[] listaAttivita = new Attivita[2];
    					System.out.println("Dentro al metodo attivitaPersona, ho creato l'array listaAttivita che punta a: " + listaAttivita);
    					
    					// Creo 2 attività:
    					Attivita attivita1 = new Attivita();
    					Attivita attivita2 = new Attivita();
    					System.out.println("attivita1 punta a: " + attivita1);
    					System.out.println("attivita2 punta a: " + attivita2);
    	
    					
    					// Setto i campi di attivita1:
    					attivita1.setCodiceGradoAttivita("1");
    					attivita1.setCodiceSettore(1);
    					attivita1.setCodiceAttivita(1);
    					attivita1.setCodiceQualifica(1);
    					attivita1.setDataInizioValidita(data);
    					attivita1.setDataFineValidita(data);
    					
    					// Setto i campi di attivita2:
    					attivita2.setCodiceGradoAttivita("2");
    					attivita2.setCodiceSettore(2);
    					attivita2.setCodiceAttivita(2);
    					attivita2.setCodiceQualifica(2);
    					attivita2.setDataInizioValidita(data);
    					attivita2.setDataFineValidita(data);
    					
    					System.out.println("Codice attivita1: " + attivita1.getCodiceAttivita());
    					System.out.println("Codice attivita2: " + attivita2.getCodiceAttivita());
    					
    					listaAttivita[1] = attivita1;
    					listaAttivita[2] = attivita2;
    					
    					System.out.println("Codice Attività dell'oggetto in prima posizione: " + listaAttivita[1].getCodiceAttivita());
    					System.out.println("Codice Attività dell'oggetto in seconda posizione: " + listaAttivita[2].getCodiceAttivita());
    					result.setAttivitaPersonaReturn(listaAttivita);
                    	 
                    	return result;
    Questo è il risultato che mi appare nella console quando questo metodo viene invocato:

    codice:
    AnagraficaServiceServiceSkeleton --> attivitaPersona()
    Dentro al metodo attivitaPersona, ho creato l'array listaAttivita che punta a: [Lit.accenture.danni.services.anagrafica.Attivita;@13d7254
    attivita1 punta a: it.accenture.danni.services.anagrafica.Attivita@11d20d3
    attivita2 punta a: it.accenture.danni.services.anagrafica.Attivita@1562c67
    Codice attivita1: 1
    Codice attivita2: 2
    Come potete vedere entra nel metodo attivitaPersona() dentro la classe AnagraficaServiceServiceSkeleton, crea correttamente l'array formato da 2 elementi.
    Mostra i riferimenti ad i 2 oggetti che saranno inseriti nell'array e il valore di un campo di tali due oggetti.

    Il problema è che una volta che ho inserito questi oggetti nell'array non riesco più ad accedere ai rispettivi campi Codice attività e non mi visualizza nulla...

    Cosa mi sfugge?

    Grazie
    Andrea

  2. #2
    L'applicativo va in eccezione. Gli indici degli array partono da zero e NON da uno:

    codice:
    ...
    					listaAttivita[1] = attivita1;
    					listaAttivita[2] = attivita2;
    					
    					System.out.println("Codice Attività dell'oggetto in prima posizione: " + listaAttivita[1].getCodiceAttivita());
    					System.out.println("Codice Attività dell'oggetto in seconda posizione: " + listaAttivita[2].getCodiceAttivita());
    
    ...
    sostituisci con:

    codice:
    ...
    					listaAttivita[0] = attivita1;
    					listaAttivita[1] = attivita2;
    					
    					System.out.println("Codice Attività dell'oggetto in prima posizione: " + listaAttivita[0].getCodiceAttivita());
    					System.out.println("Codice Attività dell'oggetto in seconda posizione: " + listaAttivita[1].getCodiceAttivita());
    
    ...
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Ok...oggi stò dormendo in piedi...vado a farmi il terzo caffè...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.