Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339

    implementazione metodo hashCode()

    Ciao

    Ho questa classe :

    codice:
    public class Prodotto implements Comparable<Prodotto> {
    	
    	private String categoria;
    	private String marca;
    	private int codice;
    	private String nome;
    	private String lotto;
    	private int qta;
    	
    	public Prodotto(String categoria, String marca, int codice, String nome, String lotto, int qta){
    		this.categoria=categoria;
    		this.marca=marca;
    		this.codice=codice;
    		this.nome=nome;
    		this.lotto=lotto;
    		this.qta=qta;
    		
    	}//COSTRUTTORE
    volevo qualche aiutino su come scrivere il metodo hashCode()

    quali campi devo inserire nel metodo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    in genere hashCode e equals viaggiano insieme (nel senso che lavorano sugli stessi parametri).

    Immagino tu sappia perché andare a riscrivere hashCode e equals e di conseguenza come scrivere il metodo.

    In genere un prototipo di hashCode può essere

    codice:
    public int hashCode(){
        int ret = 33: 
    
        ret += ret * parametro.hashCode;//(o getHashCode, controlla le API ma quello è il senso)
    
    return ret;

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    L'equals confronta due parametri .

    codice:

    codice:
    public class Prodotto implements Comparable<Prodotto> {
    	
    	private String categoria;
    	private String marca;
    	private int codice;
    	private String nome;
    	private String lotto;
    	private int qta;
    	
    	public Prodotto(String categoria, String marca, int codice, String nome, String lotto, int qta){
    		this.categoria=categoria;
    		this.marca=marca;
    		this.codice=codice;
    		this.nome=nome;
    		this.lotto=lotto;
    		this.qta=qta;
    		
    	}//COSTRUTTORE
    	
    	public String getCategoria(){
    		return categoria;
    	}
    	
    	public String getMarca(){
    		return marca;
    	}
    	
    	public int getCodice(){
    		return codice;
    	}
    	
    	public String getNome(){
    		return nome;
    	}
    	
    	public String getLotto(){
    		return lotto;
    	}
    	
    	public int getQta(){
    		return qta;
    	}
    	
    	@Override
    	public boolean equals(Object o){
    		if(o==this) return true;
    		if(o==null) return false;
    		if(!(o instanceof Prodotto)) return false;
    		Prodotto p = (Prodotto) o;
    		return(codice==p.codice && lotto.equals(p.lotto));
    quindi hashCode() lavora su codice e su lotto giusto?

    me lo scrivi per favore
    Non capisco come fare quando ci sono valori interi e quando ci sono valori String

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.