User Tools

Site Tools


java:jfc_intf_sort

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:jfc_intf_sort [2020/03/16 17:37] – [Συγκρίνοντας με χρήση ενός Comparator object] gthanosjava:jfc_intf_sort [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 42: Line 42:
      
   public boolean equals(Object o) {   public boolean equals(Object o) {
 +    if(o == null)
 +      return false;
     return (o instanceof Student && o.hashCode() == this.hashCode());     return (o instanceof Student && o.hashCode() == this.hashCode());
   }   }
Line 113: Line 115:
 ===== Συγκρίνοντας με χρήση ενός Comparator object ===== ===== Συγκρίνοντας με χρήση ενός Comparator object =====
  
-[[:java:comparable#%CF%84%CE%BF_interface_javautilcomparator|Επαναλαμβάνοντας τη συλλογιστική]] για το interface [[https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html|java.util.Comparator]], ας υποθέσουμε ότι θέλουμε να συγκρίνουμε τα αντικείμενα τύπου Student με διαφορετική πολιτική από αυτή που είναι υλοποιημένη στη μέθοδο ''compareTo'' ή ότι θέλουμε να συγκρίνουμε αντικείμενα τα οποία δεν υλοποιούν το interface //Comparable//. Σε αυτή την περίπτωση θα χρειαστούμε μία βοηθητική κλάση του τύπου [[http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html|java.util.Comparator]], όπως παρακάτω+[[:java:comparable#%CF%84%CE%BF_interface_javautilcomparator|Επαναλαμβάνοντας τη συλλογιστική]] για το interface [[https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html|java.util.Comparator]], ας υποθέσουμε ότι θέλουμε να συγκρίνουμε τα αντικείμενα τύπου Student με διαφορετική πολιτική από αυτή που είναι υλοποιημένη στη μέθοδο ''compareTo'' ή ότι θέλουμε να συγκρίνουμε αντικείμενα τα οποία δεν υλοποιούν το interface //Comparable//. Σε αυτή την περίπτωση θα χρειαστούμε μία βοηθητική κλάση του τύπου [[http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html|java.util.Comparator]]. Στο παρακάτω παράδειγμα, με τη βοήθεια της κλάσης StudentComparator γίνεται η σύγκριση αποκλειστικά με βάση το επίθετο και όχι με το συνδυασμό επίθετο και μικρό όνομα.
  
 <code java StudentComparator.java> <code java StudentComparator.java>
java/jfc_intf_sort.1584380229.txt.gz · Last modified: 2020/03/16 17:37 (external edit)