This shows you the differences between two versions of the page.
| Next revision | Previous revision Next revision Both sides next revision | ||
|
java:generic_methods [2015/03/15 20:35] gthanos created |
java:generic_methods [2020/03/09 10:40] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Generic Methods ====== | + | ====== |
| + | |||
| + | //Generic Methods// ονομάζονται οι μέθοδοι οι οποίες εισάγουν τους δικούς τους παραμετρικούς τύπους δεδομένων, | ||
| + | |||
| + | <code java Util.java> | ||
| + | public class Util { | ||
| + | public static <K, V> boolean isEqual(Pair< | ||
| + | return p1.getKey().equals(p2.getKey()) && | ||
| + | p1.getValue().equals(p2.getValue()); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Ο κώδικας για να καλέσετε μία έκδοση της παραπάνω μεθόδου δίνεται παρακάτω | ||
| + | <code java OrderedPairUsage.java> | ||
| + | public class OrderedPairUsage { | ||
| + | public static void main(String args[]) { | ||
| + | Pair< | ||
| + | Pair< | ||
| + | boolean same = Util.< | ||
| + | //OR boolean same = Util.isEqual(p1, | ||
| + | if( same ) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | else { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Ο compiler έχει την δυνατότητα να αντιλαμβάνεται τους τύπους των παραμέτρων της μεθόδου από τα ορίσματα της μεθόδου. | ||
| + | |||
| + | <WRAP todo 80% center round> | ||
| + | Δοκιμάστε να μεταγλωττίσετε τις παρακάτω δύο παραλλαγές του κώδικα και δείτε τα μηνύματα που θα σας βγάλει ο compiler. | ||
| + | </ | ||
| + | |||
| + | <code java OrderedPairUsage.java> | ||
| + | public class OrderedPairUsage { | ||
| + | public static void main(String args[]) { | ||
| + | Pair< | ||
| + | new OrderedPair<> | ||
| + | Pair< | ||
| + | new OrderedPair<> | ||
| + | boolean same = Util.< | ||
| + | if( same ) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | else { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <code java OrderedPairUsage.java> | ||
| + | public class OrderedPairUsage { | ||
| + | public static void main(String args[]) { | ||
| + | Pair< | ||
| + | new OrderedPair<> | ||
| + | Pair< | ||
| + | new OrderedPair<> | ||
| + | boolean same = Util.isEqual(p1, | ||
| + | if( same ) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | else { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |Προηγούμενο: | ||
| - | Generic Methods ονομάζονται οι μέθοδοι οι οποίες εισάγουν τους δικούς τους παραμετρικούς τύπους δεδομένων, | ||
| - | <code java | ||