This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
java:generics [2015/03/19 13:44] gthanos |
java:generics [2016/02/26 11:15] 127.0.0.1 external edit |
||
---|---|---|---|
Line 91: | Line 91: | ||
===== Παραμετρικοί τύποι δεδομένων με πολλές παραμέτρους ===== | ===== Παραμετρικοί τύποι δεδομένων με πολλές παραμέτρους ===== | ||
+ | |||
+ | Πριν προχωρήσουμε σε ένα παράδειγμα παραμετρικών τύπων με πολλές παραμέτρους είναι χρήσιμο να πούμε ότι παραμετρικούς τύπους μπορούν να ορίζουν εκτός από κλάσεις και Interfaces. Δείτε το παρακάτω παράδειγμα. | ||
<code java Pair.java> | <code java Pair.java> | ||
Line 148: | Line 150: | ||
public static void main(String args[]) { | public static void main(String args[]) { | ||
Box b = new Box(5); | Box b = new Box(5); | ||
- | Box<Number> bn = new Box<Number>(); | + | Box<Number> bn = new Box<Number>(); |
- | bn.set(b.get()); | + | bn.set(b.get()); |
} | } | ||
} | } | ||
Line 156: | Line 158: | ||
Αν αλλάξετε την γραμμή ''Box<Number> bn = new Box<Number>();'' σε ''Box<Object> bn = new Box<Object>();'' το compilation error εξαφανίζεται και εμφανίζεται ένα warning. | Αν αλλάξετε την γραμμή ''Box<Number> bn = new Box<Number>();'' σε ''Box<Object> bn = new Box<Object>();'' το compilation error εξαφανίζεται και εμφανίζεται ένα warning. | ||
- | Η μη χρήση των τύπων δεδομένων δυσκολεύει τον compiler να αποφασίσει για την ασφαλή ή μη χρήση δεδομένων αυτού του τύπου, ειδικά όταν τα δεδομένα αυτά χρησιμοποιούνται μαζί με παραμετρικούς τύπους δεδομένων. Δείτε τα παρακάτω παραδείγματα κώδικα | + | Η μη χρήση των παραμετρικών τύπων δεδομένων δυσκολεύει τον compiler να αποφασίσει για την ασφαλή ή μη ασφαλή χρήση των δεδομένων που θα αποθηκευτούν στην κλάση. Δείτε τα παρακάτω παραδείγματα κώδικα |
<code java> | <code java> |