This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | Next revision Both sides next revision | ||
|
java:generic_methods [2015/03/16 07:20] gthanos |
java:generic_methods [2015/03/19 13:59] gthanos |
||
|---|---|---|---|
| Line 13: | Line 13: | ||
| Ο κώδικας για να καλέσετε μία έκδοση της παραπάνω μεθόδου δίνεται παρακάτω | Ο κώδικας για να καλέσετε μία έκδοση της παραπάνω μεθόδου δίνεται παρακάτω | ||
| <code java OrderedPairUsage.java> | <code java OrderedPairUsage.java> | ||
| - | Pair<Integer, String> p1 = new OrderedPair<>(1, "apple"); | + | public class OrderedPairUsage { |
| - | Pair<Integer, String> p2 = new OrderedPair<>(2, "pear"); | + | public static void main(String args[]) { |
| - | boolean same = Util.<Integer, String>compare(p1, p2); | + | Pair<Integer, String> p1 = |
| - | //OR boolean same = Util.compare(p1, p2); | + | new OrderedPair<>(1, "Black"); |
| + | Pair<Integer, String> p2 = | ||
| + | new OrderedPair<>(1, "Red"); | ||
| + | boolean same = Util.<Integer, String>compare(p1, p2); | ||
| + | //OR boolean same = Util.compare(p1, p2); | ||
| + | if( same ) { | ||
| + | System.out.println("p1 is equal to p2"); | ||
| + | } | ||
| + | else { | ||
| + | System.out.println("p1 is NOT equal to p2"); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| </code> | </code> | ||
| - | Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια, καθώς ο compiler αντιλαμβάνεται από τον τύπο των ορισμάτων με τα οποία καλείται η μέθοδος τους αντίστοιχους παραμετρικούς τύπους δεδομένων. | + | Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Παρατηρήστε ότι ο compiler δεν σας αφήνει να καλέσετε την μη παραμετρική έκδοση της μεθόδου. Επίσης αν χρησιμοποιήσετε άλλους τύπους δεδομένων (π.χ. ''<Integer, Integer>'') τότε και πάλι θα λάβετε ένα μήνυμα λάθους. |