java:generics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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>
java/generics.txt · Last modified: 2017/02/17 15:01 by gthanos