This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
java:jfc_intf_sort [2016/02/26 11:15] 127.0.0.1 external edit |
java:jfc_intf_sort [2017/05/12 12:18] (current) gthanos [Υλοποιώντας το interface Comparable για δικούς μας τύπους δεδομένων] |
||
---|---|---|---|
Line 48: | Line 48: | ||
Τα βασικά χαρακτηριστικά της παραπάνω κλάσης είναι τα εξής: | Τα βασικά χαρακτηριστικά της παραπάνω κλάσης είναι τα εξής: | ||
* Έλεγχος στον κατασκευαστή εάν περνάνε ή όχι null ορίσματα. Αυτό μας προστατεύει από το να έρθουμε αντιμέτωποι με //NullPointerException// στην συνέχεια. | * Έλεγχος στον κατασκευαστή εάν περνάνε ή όχι null ορίσματα. Αυτό μας προστατεύει από το να έρθουμε αντιμέτωποι με //NullPointerException// στην συνέχεια. | ||
- | * Η μέθοδος //equal()// επαναπροσδιορίζεται, έτσι ώστε να συγκρίνονται τα πεδία της κλάσης Name μεταξύ τους. | + | * Η μέθοδος //equals()// επαναπροσδιορίζεται, έτσι ώστε να συγκρίνονται τα πεδία της κλάσης Name μεταξύ τους. |
* Η μέθοδος //hashCode()// επαναπροσδιορίζεται. Ο λόγος που πρέπει να επαναπροσδιορίσουμε την μέθοδο αυτή είναι ότι εξ' ορισμού δύο ίδια αντικείμενα θα πρέπει να έχουν και ίδια //hashCodes//. Εφόσον άλλαξε η μέθοδος //equal()// θα αλλάξει και η μέθοδος //hashCode()// ώστε να επιστρέφει το ίδιο hash για αντικείμενα που η equals επιστρέφει ισότητα. | * Η μέθοδος //hashCode()// επαναπροσδιορίζεται. Ο λόγος που πρέπει να επαναπροσδιορίσουμε την μέθοδο αυτή είναι ότι εξ' ορισμού δύο ίδια αντικείμενα θα πρέπει να έχουν και ίδια //hashCodes//. Εφόσον άλλαξε η μέθοδος //equal()// θα αλλάξει και η μέθοδος //hashCode()// ώστε να επιστρέφει το ίδιο hash για αντικείμενα που η equals επιστρέφει ισότητα. | ||
* Υλοποιείται η μέθοδος //int comparTo(T t)//. | * Υλοποιείται η μέθοδος //int comparTo(T t)//. |