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/15 19:47]
gthanos
java:generics [2015/03/15 20:04]
gthanos
Line 69: Line 69:
 Εδώ ο compiler αντιλαμβάνεται ότι δημιουργείται μία μεταβλητή τύπου ''​Box<​Integer>''​ και δημιουργεί ένα αντικείμενο αυτού του τύπου Εδώ ο compiler αντιλαμβάνεται ότι δημιουργείται μία μεταβλητή τύπου ''​Box<​Integer>''​ και δημιουργεί ένα αντικείμενο αυτού του τύπου
  
-**Προσοχή:​** το παραπάνω δεν είναι ίδιο με +**Προσοχή:​** το παραπάνω δεν είναι ίδιο με το παρακάτω. ​
 <code java> <code java>
 Box<​Integer>​ integerBox = new Box(); Box<​Integer>​ integerBox = new Box();
 </​code>​ </​code>​
 +
 +Στο τελευταίο ο compiler θα εκδώσει το παρακάτω warning.
 +<​code>​
 +Note: BoxUsage.java uses unchecked or unsafe operations.
 +Note: Recompile with -Xlint:​unchecked for details.
 +</​code>​
 +
 +===== Παραμετρικοί τύποι δεδομένων με πολλές παραμέτρους =====
 +
 +<code java Pair.java>​
 +public interface Pair<K, V> {
 +    public K getKey();
 +    public V getValue();
 +}
 +</​code>​
 +
 +<code java OrderedPair.java>​
 +public class OrderedPair<​K,​ V> implements Pair<K, V> {
 +
 +    private K key;
 +    private V value;
 +
 +    public OrderedPair(K key, V value) {
 + this.key = key;
 + this.value = value;
 +    }
 +
 +    public K getKey() { return key; }
 +    public V getValue() { return value; }
 +}
 +</​code>​
 +
 +Με βάση τον παραπάνω κώδικα μπορείτε να δημιουργήσετε αντικείμενα επιμέρους τύπων ως εξής:
 +<code java OrderedPairUsage.java>​
 +public class OrderedPairUsage {
 +  public static void main(String args[]) {
 +    Pair<​String,​ Integer> p1 = new OrderedPair<​String,​ Integer>​("​Even",​ 8);
 +    Pair<​String,​ String> ​ p2 = new OrderedPair<​String,​ String>​("​hello",​ "​world"​);​
 +    OrderedPair<​String,​ Box<​Integer>>​ p = new OrderedPair<>​("​primes",​ new Box<​Integer>​());​
 +  }
 +}
 +</​code>​
 +
 +
  
  
java/generics.txt · Last modified: 2017/02/17 15:01 by gthanos