Informazione su equals, tostring e hascode

Steel

Nuovo Utente
19 Gen 2018
3
0
1
Buonasera a tutti sono un ragazzo che da poco ha intrapreso il cammino nel mondo dell'informatica e mi trovo in difficoltà con alcune cose, non riesco a capire a cosa servano i metodi elencati nel titolo, toString, equals e hasCode.
per esempio la scrittura seguente:
Codice:
   public boolean equals(Object o)
   {   if(o==this)
           return true;
       if(!(o instanceof Ordinazione))      //    Ordinazione è una classe del programmino
           return false;
       Ordinazione ord=(Ordinazione)o;
       return p.equals(ord.p) && x==ord.x;
   }
inoltre non conosco molto bene l'operatore instanceof, cioè quello scritto sopra significa (se o non è un istanza di Ordinazione ritorna falso)?

poi cosa significa per esempio questo:
Codice:
public int hashCode() {
       return codice;
   }
Se potreste gentilmente farmi una sorta di lezione riguardo a questi metodi e poi darmi delle delucidazioni riguardo gli esempio scritti da me ve ne sarei grato, buona serata :)
 
Ultima modifica di un moderatore:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.274
328
83
@Steel
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 

Steel

Nuovo Utente
19 Gen 2018
3
0
1
Hey Max mi scuso per il fatto della scrittura del codice, quando ho scritto il messaggio non sono riuscito a trovare la parte dove mi dava la possibilità di scrivere il codice in quel modo.
Inoltre mi scuso anche se ho postato la discussione nella sezione sbagliata, ma non capisco perchè ho sbagliato, l'ho messa nella sezione programmazione, dove l'avrei dovuta postare?
Grazie in anticipo e buona giornata:)
 

LinuxOhYeah

Utente Attivo
26 Nov 2016
188
7
18
da poco ha intrapreso il cammino nel mondo dell'informatica
Se veramente hai intrapreso da poco non mi metterei a ridefinire un metodo ma inizierei con leggere un guida Java o vedere la documentazione.

Esempi: https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#method_summary

In parole povere: equals() dice se due oggetti sono uguali, hashcode() restituisce l'hashcode di un oggetto e tostring() ritorna una stringa che rappresenta l'oggetto
 

Steel

Nuovo Utente
19 Gen 2018
3
0
1
Hey linuxohyeah, si ho scritto che ho iniziato da poco, ma non a tal punto di non sapere niente di niente di Java lo studio da un anno circa per questo ho scritto che lo studio da poco, certo in un anno si possono fare tante cose ma quando hai molti impegni non riesci a dedicarti al massimo ad una cosa sola, i concetti di base li conosco quasi tutti ma ovviamente quando mi ritrovo ad usare nuovi metodi mi trovo in difficoltà è per questo che ho chiesto aiuto a questo forum.
In ogni caso ti ringrazio per la tua risposta sei stato gentile:)