This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
java:generic_bounded_types [2015/03/19 16:42] gthanos |
java:generic_bounded_types [2016/02/26 11:15] (current) |
||
---|---|---|---|
Line 87: | Line 87: | ||
</code> | </code> | ||
- | Ανάλογα μπορούν ισχύουν και τα παρακάτω | + | Ανάλογα ισχύουν και τα παρακάτω |
<code java> | <code java> | ||
List<? extends Number> List<? super Integer> | List<? extends Number> List<? super Integer> | ||
Line 97: | Line 97: | ||
</code> | </code> | ||
- | Στο παρακάτω παράδειγμα δοκιμάστε να αν | + | Δοκιμάστε να μεταγλωττίσετε τα παρακάτω παραδείγματα κώδικα για να επιβεβαιώσετε τα παραπάνω. |
+ | <code java> | ||
+ | List<? extends Νumber> numList = new ArrayList<>(); | ||
+ | List<?> objectList = numList; | ||
+ | </code> | ||
<code java> | <code java> | ||
List<? extends Integer> intList = new ArrayList<>(); | List<? extends Integer> intList = new ArrayList<>(); | ||
- | List<? extends Number> numList = intList; // OK. List<? extends Integer> is a subtype of List<? extends Number> | + | List<? extends Number> numList = intList; |
</code> | </code> | ||
+ | <code java> | ||
+ | List<Integer> intList = new ArrayList<>(); | ||
+ | List<? extends Integer> extendedIntList = intList; | ||
+ | </code> | ||
+ | |||
+ | Ανάλογα | ||
+ | <code java> | ||
+ | List<? super Integer> intList = new ArrayList<>(); | ||
+ | List<?> objectList = intList; | ||
+ | </code> | ||
+ | <code java> | ||
+ | List<? super Number> numList = new ArrayList<>(); | ||
+ | List<? super Integer> inList = numList; | ||
+ | </code> | ||
+ | <code java> | ||
+ | List<Number> numList = new ArrayList<>(); | ||
+ | List<? super Number> extendedNumList = numList; | ||
+ | </code> | ||
+ | |||
+ | |||
- | Το παρακάτω σχήμα εξηγεί τις σχέσεις κληρονομικότητας που διέπουν (άνω και κάτω) φραγμένους τύπους δεδομένων (Λίστες). | + | Το παρακάτω σχήμα εξηγεί τις σχέσεις κληρονομικότητας που διέπουν (άνω και κάτω) φραγμένους τύπους δεδομένων για τον παραμετρικό τύπο δεδομένων της λίστας. |
{{ :java:generics_inheritance4.png?500 |}} | {{ :java:generics_inheritance4.png?500 |}} | ||