Ποια είναι η χρήση της μεθόδου παράκαμψης ίσον στην Java;
Ποια είναι η χρήση της μεθόδου παράκαμψης ίσον στην Java;

Βίντεο: Ποια είναι η χρήση της μεθόδου παράκαμψης ίσον στην Java;

Βίντεο: Ποια είναι η χρήση της μεθόδου παράκαμψης ίσον στην Java;
Βίντεο: From C to Python by Ross Rheingans-Yoo 2024, Απρίλιος
Anonim

Η παράκαμψη ισούται και hashCode in Ιάβα

ισοδυναμεί () μέθοδος είναι μεταχειρισμένος να συγκρίνετε Αντικείμενα για ισότητα ενώ το hashCode είναι μεταχειρισμένος για να δημιουργήσετε έναν ακέραιο κωδικό που αντιστοιχεί σε αυτό το αντικείμενο

Από εδώ, ποια είναι η χρήση της μεθόδου ίσον στην Java;

ο ισοδυναμεί () μέθοδος συγκρίνει δύο αντικείμενα για ισότητα και επιστρέφει true αν είναι ίσος . ο ισοδυναμεί () μέθοδος παρέχονται στην κατηγορία Object χρήσεις ο τελεστής ταυτότητας (==) για να προσδιορίσει εάν δύο αντικείμενα είναι ίσος . Για πρωτόγονους τύπους δεδομένων, αυτό δίνει το σωστό αποτέλεσμα.

Επιπλέον, πώς μπορείτε να παρακάμψετε τη μέθοδο ίσον στην Java; Στο παραπάνω κομμάτι κώδικα, η κλάση Person έχει μια μέθοδο overridden equals(), η οποία ακολούθησε την ακόλουθη προσέγγιση βήμα προς βήμα:

  1. Εάν η αναφορά σε αυτό το αντικείμενο είναι ίδια με την αναφορά στο αντικείμενο ορίσματος, επιστρέψτε true.
  2. Εάν το όρισμα είναι μηδενικό, επιστρέψτε το false.
  3. Εάν τα αντικείμενα δεν είναι από την ίδια κλάση, επιστρέψτε false.

Συνεπώς, γιατί χρειάζεται να παρακάμψουμε τη μέθοδο ίσον στην Java;

Η τάξη String υπερισχύει ο μέθοδος ίσον κληρονόμησε από την κλάση Object και εφάρμοσε τη λογική για να συγκρίνει τα δύο αντικείμενα String χαρακτήρα προς χαρακτήρα. Ο λόγος ο μέθοδος ίσον στην κλάση Αντικείμενο η ισότητα αναφοράς οφείλεται στο ότι δεν ξέρει πώς να κάνει κάτι άλλο.

Ποια είναι η χρήση της μεθόδου παράκαμψης hashCode and equals στην Java;

εάν μια τάξη υπερισχύει ισοδυναμεί , πρεπει παράκαμψη hashCode . όταν είναι και οι δύο παρακάμπτεται , ισοδυναμεί και hashCode πρέπει χρήση το ίδιο σύνολο πεδίων. αν δύο αντικείμενα είναι ίσος , μετά τους hashCode αξίες πρέπει να είναι ίσος επισης. αν το αντικείμενο είναι αμετάβλητο, τότε hashCode είναι υποψήφιος για caching και lazy αρχικοποίηση.

Συνιστάται: