This shows you the differences between two versions of the page.
|
java:generic_methods [2015/03/15 21:46] gthanos |
java:generic_methods [2016/02/26 11:15] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Παραμετρικές Μέθοδοι (Generic Methods) ====== | ||
| - | |||
| - | Generic Methods ονομάζονται οι μέθοδοι οι οποίες εισάγουν τους δικούς τους παραμετρικούς τύπους δεδομένων, χωρίς η κλάση στην οποία ανήκουν να εισάγει αντίστοιχους παραμετρικούς τύπους δεδομένων, όπως παρακάτω: | ||
| - | <code 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()); | ||
| - | } | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | Ο κώδικας για να καλέσετε μία έκδοση της παραπάνω μεθόδου δίνεται παρακάτω | ||
| - | <code java> | ||
| - | Pair<Integer, String> p1 = new Pair<>(1, "apple"); | ||
| - | Pair<Integer, String> p2 = new Pair<>(2, "pear"); | ||
| - | boolean same = Util.<Integer, String>compare(p1, p2); | ||
| - | //OR boolean same = Util.compare(p1, p2); | ||
| - | </code> | ||
| - | |||
| - | Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια, καθώς ο compiler αντιλαμβάνεται από τον τύπο των ορισμάτων με τα οποία καλείται η μέθοδος τους αντίστοιχους παραμετρικούς τύπους δεδομένων. | ||