Ciao, intanto grazie per la gentile risposta.
Non ho ben capito però come usare le date nel mio caso. Nel senso che io ho una classe che definisce l'utente così:

codice:
public class Utente {
    //definisco le variabili di classe
    private String nome, cognome;
    private String nickname;
    private Date dataNascita;
    private Utente fondatore;
    private Utente utentePresentante;
    
    //costruttore utente fondatore
    public Utente (String nome, String cognome, Date dataNascita) {
        this(nome,cognome,dataNascita, null);
    }
    
    //costruttore utente
    public Utente (String nome, String cognome, Date dataNascita, Utente utentePresentante) {
        this.nome=nome;
        this.cognome=cognome;
        this.dataNascita=dataNascita;
        this.utentePresentante=utentePresentante;
    }
    
    //metodi estrattori
    public String getNome() { return nome; }
    public String getCognome() { return cognome; }
    public Date getDataNascita() { return dataNascita; }
    
    //metodo che sovrascrive il toString di object per stampare l'utente
    public String toString()  {
        if (utentePresentante==null) {
            return nome + " " + cognome + " " + dataNascita;
        }
        else {
            return nome + " " + cognome + " " + dataNascita + " " + utentePresentante;
        }
    }
    public static void main (String[] args) {
        // Leggo la stringa dall'utente nel formato "GG/MM/AAAA"
        String dataNascitaFounder ="23/06/1912";
        // Ottengo il relativo oggetto Date:
        Date dataNascitaFounder;
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        try {
        dataNascitaFounder = sdf.parse( data );}
        catch (Exception e) { e.printStackTrace(); }
        Utente founder=new Utente ("Alan", "Turing", dataNascitaFounder);
    }
}
Posso immaginare che invece di usare un campo Date nella classe utente dovrei usare un campo String, e poi fare quel che hai detto tu...possibile?