Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di giudf
    Registrato dal
    Jun 2006
    Messaggi
    162

    [Java] Costruttore che non costruisce

    Salve ragazzi, qualcuno di voi sa dirmi cosa c'è di sbagliato in questo costruttore che prende 3 parametri ed il quarto (DataNotifica) se lo deve calcolare in base a quei 3:

    codice:
    class entry{
    	
                 String email = new String();
    	GregorianCalendar data = new GregorianCalendar();
    	int memorandumId;
    	GregorianCalendar dataNotifica = new GregorianCalendar();
    
    
    	/*!!! COSTRUTTORE !!!!*/
    	public entry(String address, GregorianCalendar day, int id){
    	data = day;
    	email = address;
    	memorandumId = id;
    
                /*!!! PARAMETRO CALCOLATO IN BASE AL MEMORANDUMID !!! */
    	switch(memorandumId){
    	case 2:
    	dataNotifica = data;
    	dataNotifica.add(GregorianCalendar.DAY_OF_MONTH,-7);
    	break;
    	case 3:
    	dataNotifica = data;
    	dataNotifica.add(GregorianCalendar.DAY_OF_MONTH,-2);
    
    	break;
    	case 4:
    	dataNotifica = data;
    	dataNotifica.add(GregorianCalendar.DAY_OF_MONTH,-1);
    	break;
    	
    	}
    	}
    Il problema è che alla fine le DataNotifica sono tutte identiche alla corrispondente Data dell'oggetto quando invece io all'interno dello switch le ho esplicitamente cambiate

  2. #2
    Utente di HTML.it L'avatar di giudf
    Registrato dal
    Jun 2006
    Messaggi
    162

    Non risposta

    Bè grazie a tutti per la "non risposta"

    A parte i skerzi il problema l'ho risolto, se qualcuno un giorno si trovasse nelle mie stesse condizioni, l'errore stava nel fatto che nel costruttore io assegnavo la data nel seguente modo
    codice:
    dataNotifica = data;
    cosa sbagliatissima xkè a quel punto l'oggetto diventa lo stesso, inoltre ho cambiato il modo di esporre la data da Date che è deprecato a GregorianCalendar (ma il problema nn era quello), comunque il tutto funziona se si rimpiazza la suddetta istruzione con
    [code]
    dataNotifica = (GregorianCalendar /*o Date /*) data.clone();

    Ciao ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.