Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti
Con un semplice dialogo in linguaggio naturale e la potenza di una scheda video di fascia alta è possibile costruire software funzionante da zero, senza scrivere una riga di codice e senza inviare un solo byte dei propri dati a server esterni
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-06-2007, 17:36   #1
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
[java] equals

solitamnete il metodo equals è gestito cosi:

public boolean equals(Object o){
if (!o.instanceof Classe) return false
....

Classe c=(Classe) o;
...




mi chiedevo in fondo cosa serve questo cast dato che essenzialmente chi chiama il metodo passa un oggetto della classe da analizzare ma poi tecnicamente l' oggetto ha passato il test dell' instanceof.
è solo qualcosa di stilistico o quale utilità ha?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 17:41   #2
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
solitamnete il metodo equals è gestito cosi:

public boolean equals(Object o){
if (!o.instanceof Classe) return false
....

Classe c=(Classe) o;
...




mi chiedevo in fondo cosa serve questo cast dato che essenzialmente chi chiama il metodo passa un oggetto della classe da analizzare ma poi tecnicamente l' oggetto ha passato il test dell' instanceof.
è solo qualcosa di stilistico o quale utilità ha?
Solitamente questo è l'esempio di come NON implementare il metodo equals.
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 18:16   #3
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da redcloud Guarda i messaggi
Solitamente questo è l'esempio di come NON implementare il metodo equals.
come lo implementeresti?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 18:23   #4
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
risolto va fatto perchè altrimenti non è possibile utilizzare i metodi della sottoclasse di Object in esame.Però sono curioso della diversa implementazione di equals.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 23:30   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
anche io.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 23:39   #6
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
questa è l' implementazione del metodo equals che viene insegnata ovunque e si trova su tutti i libri.

alcuni utilizzano questa variante che personalmente non condivido:

class Classe{

public boolean equals(Object o){
if(o==null||! o instanceof Classe)return false
Classe c=(Classe) o;
return equals(c);}

private boolean equals(Classe c){............................. qui si stabiliscono i criteri di uguaglianza}

Ultima modifica di nuovoUtente86 : 26-06-2007 alle 23:48.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 23:44   #7
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
come lo implementeresti?
Scusa ho preso un abbaglio!
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 23:49   #8
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da redcloud Guarda i messaggi
Scusa ho preso un abbaglio!
e be....direi altri modi per il metodo equals anche volendo ce ne sono pochi..ne ho postato su una leggera variante.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2007, 08:30   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
questa è l' implementazione del metodo equals che viene insegnata ovunque e si trova su tutti i libri.
Bruciali .....

Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
alcuni utilizzano questa variante che personalmente non condivido:

class Classe{

public boolean equals(Object o){
if(o==null||! o instanceof Classe)return false
Classe c=(Classe) o;
return equals(c);}

private boolean equals(Classe c){............................. qui si stabiliscono i criteri di uguaglianza}
Non ha molto senso (e per altro non l'ho mai visto) mettere un metodo privato che prende un oggetto del tipo della classe. Fai tutto in equals(Object) e sei a posto!!
Tra l'altro il tuo è sbagliato: l'operatore ! ha priorità maggiore rispetto a instanceof. Poi il test per diverso da null non servirebbe nemmeno visto che il test con instanceof è già in grado di restituire false se 'o' è null.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2007, 10:54   #10
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Io l'ho visto. Non mi ricordo dove però giurerei di aver visto da qualche parte i due metodi equals, uno per Object e l'altro per il tipo più specifico.

Non mi ricordo se fosse private e neanche quale fosse lo scopo... insomma, è proprio una vaga sensazione, però qualcuno lo fa o lo ha fatto.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
La stella S301 è così vici...
Chery accelera sulla robotica: Aimoga si...
Voigtländer Nokton 23mm e 35mm f/1....
Il Lunar Reconnaissance Orbiter della NA...
Prova a beffare il tribunale con un mess...
Pasticcio Freelander: usa l'immagine di ...
A New York apre la clinica del fondatore...
Control Resonant entra in fase Gold e ri...
HONOR Pad 20 Pro è ufficiale: un ottimo ...
Tesla Robotaxi sfonda dei dissuasori: il...
Call of Duty: Modern Warfare 4 presenta ...
Intel Arc più veloce fino al 5% s...
Il tuo ETF ha molta più NVIDIA di...
Il Fairphone Gen 6+ è ufficiale con un n...
Stellantis, il titolo crolla: alla borsa...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v