java:generic_methods

This is an old revision of the document!


Παραμετρικές Μέθοδοι (Generic Methods)

Generic Methods ονομάζονται οι μέθοδοι οι οποίες εισάγουν τους δικούς τους παραμετρικούς τύπους δεδομένων, χωρίς η κλάση στην οποία ανήκουν να εισάγει αντίστοιχους παραμετρικούς τύπους δεδομένων, όπως παρακάτω:

Util.java
public class Util {
  public static <K, V> boolean compare(Pair<K, V> p1, Pair<K, V> p2) {
    return p1.getKey().equals(p2.getKey()) &&
      p1.getValue().equals(p2.getValue());
  }
}

Ο κώδικας για να καλέσετε μία έκδοση της παραπάνω μεθόδου δίνεται παρακάτω

OrderedPairUsage.java
Pair<Integer, String> p1 = new OrderedPair<>(1, "apple");
Pair<Integer, String> p2 = new OrderedPair<>(2, "pear");
boolean same = Util.<Integer, String>compare(p1, p2);
//OR boolean same = Util.compare(p1, p2);

Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια, καθώς ο compiler αντιλαμβάνεται από τον τύπο των ορισμάτων με τα οποία καλείται η μέθοδος τους αντίστοιχους παραμετρικούς τύπους δεδομένων.

java/generic_methods.1426490434.txt.gz · Last modified: 2015/03/16 07:20 by gthanos