Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    *Non so citare*
    Si sono agli inizi di Swing... con precisione posso dirti che quello che ho fatto è il frutto della prima lezione introduttiva dell'argomento xD

    Applicazione.java
    codice:
    package applicazione;
    
    import java.util.HashMap;
    
    
    public class Applicazione {
    	
    	private HashMap<Utente, String> utenti = new HashMap<Utente, String>();
    	
    	public boolean nuovoUtente (Utente u) {
    		if(!utenti.containsKey(u)) {
    			utenti.put(u, u.getEmailUtente());
    			return true;
    		}
    		return false;
    	}
    	
    	public boolean cercaUtente (Utente u) {
    		if(utenti.containsKey(u))
    			return true;
    		else
    			return false;
    	}
    	
    	public boolean password (Utente u) {
    		for(Utente key : utenti.keySet())
    			if(utenti.get(u) == utenti.get(key)	&&
    					utenti.get(u.getPasswordUtente()).equals(utenti.get(key.getPasswordUtente())) )
    				return true;
    		return false;
    	}
    	
    }
    Utente.java
    codice:
    package applicazione;
    
    import java.util.HashMap;
    
    
    public class Applicazione {
    	
    	private HashMap<Utente, String> utenti = new HashMap<Utente, String>();
    	
    	public boolean nuovoUtente (Utente u) {
    		if(!utenti.containsKey(u)) {
    			utenti.put(u, u.getEmailUtente());
    			return true;
    		}
    		return false;
    	}
    	
    	public boolean cercaUtente (Utente u) {
    		if(utenti.containsKey(u))
    			return true;
    		else
    			return false;
    	}
    	
    	public boolean password (Utente u) {
    		for(Utente key : utenti.keySet())
    			if(utenti.get(u) == utenti.get(key)	&&
    					utenti.get(u.getPasswordUtente()).equals(utenti.get(key.getPasswordUtente())) )
    				return true;
    		return false;
    	}
    	
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da NoNameoN Visualizza il messaggio
    codice:
    	private HashMap<Utente, String> utenti = new HashMap<Utente, String>();
    Da quanto si deduce, hai usato oggetti Utente come "chiavi" della map. Questo implica che la classe Utente DEVE ridefinire correttamente sia equals(), sia hashCode(). E in modo appropriato in modo da garantire il "contratto" che esiste per definizione tra questi due metodi.

    Comunque l'approccio di usare oggetti Utente come chiavi non è particolarmente buono, sarebbe stato molto meglio usare:
    codice:
    	private HashMap<String, Utente> utenti = new HashMap<Utente, String>();

    Ovvero una mappa chiave:email, valore:Utente

    Quote Originariamente inviata da NoNameoN Visualizza il messaggio
    codice:
    			if(utenti.get(u) == utenti.get(key)
    Questo comunque è sbagliato, il contenuto delle stringhe (e degli oggetti in generale) NON si confronta con == ma con equals.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Per quanto riguarda il primo punto ti dico che effettivamente è un ottima osservazione e ti ringrazio perché ne farò tesoro.

    Per quanto riguarda l'operatore == c'è da dire che vengo da C++ e ancora mi confondo xD grazie di tutto comunque.

    Credo sia questo l'errore. Come si chiudono le discussioni in questo forum? Metto [RISOLTO] a sinistra del titolo?

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Quote Originariamente inviata da NoNameoN Visualizza il messaggio
    Come si chiudono le discussioni in questo forum? Metto [RISOLTO] a sinistra del titolo?
    no, qui non usiamo chiuderle quando risolte

Tag per questa discussione

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