This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
java:generic_methods [2015/03/19 14:02] gthanos |
java:generic_methods [2016/02/26 11:15] (current) |
||
|---|---|---|---|
| Line 31: | Line 31: | ||
| </code> | </code> | ||
| - | Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Επίσης αν χρησιμοποιήσετε άλλους τύπους δεδομένων (π.χ. ''<Integer, Integer>'') τότε και πάλι θα λάβετε ένα μήνυμα λάθους. | + | Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Ο compiler έχει την δυνατότητα να αντιλαμβάνεται τους τύπους των παραμέτρων της μεθόδου από τα ορίσματα της μεθόδου. |
| + | |||
| + | Δοκιμάστε να μεταγλωττίσετε τις παρακάτω δύο παραλλαγές του κώδικα και δείτε τα μηνύματα που θα σας βγάλει ο compiler. | ||
| + | <code java OrderedPairUsage.java> | ||
| + | public class OrderedPairUsage { | ||
| + | public static void main(String args[]) { | ||
| + | Pair<Integer, String> p1 = | ||
| + | new OrderedPair<>(1, "Black"); | ||
| + | Pair<Integer, String> p2 = | ||
| + | new OrderedPair<>(1, "Red"); | ||
| + | boolean same = Util.<Integer, Integer>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 java OrderedPairUsage.java> | ||
| + | public class OrderedPairUsage { | ||
| + | public static void main(String args[]) { | ||
| + | Pair<Integer, String> p1 = | ||
| + | new OrderedPair<>(1, "Black"); | ||
| + | Pair<Integer, Integer> p2 = | ||
| + | new OrderedPair<>(1, 3); | ||
| + | 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> | ||