java:generic_methods

Differences

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

Link to this comparison view

java:generic_methods [2015/03/19 14:02]
gthanos
java:generic_methods [2016/02/26 11:15]
Line 1: Line 1:
-====== Παραμετρικές Μέθοδοι (Generic Methods) ====== 
- 
-Generic Methods ονομάζονται οι μέθοδοι οι οποίες εισάγουν τους δικούς τους παραμετρικούς τύπους δεδομένων,​ χωρίς η κλάση στην οποία ανήκουν να εισάγει αντίστοιχους παραμετρικούς τύπους δεδομένων,​ όπως παρακάτω:​ 
-<code java Util.java>​ 
-public class Util { 
-  public static <K, V> boolean compare(Pair<​K,​ V> p1, Pair<K, V> p2) { 
-    return p1.getKey().equals(p2.getKey()) && 
-      p1.getValue().equals(p2.getValue());​ 
-  } 
-} 
-</​code>​ 
- 
-Ο κώδικας για να καλέσετε μία έκδοση της παραπάνω μεθόδου δίνεται παρακάτω 
-<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,​ String>​compare(p1,​ p2); 
-    //OR 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>​ 
- 
-Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Επίσης αν χρησιμοποιήσετε άλλους τύπους δεδομένων (π.χ. ''<​Integer,​ Integer>''​) τότε και πάλι θα λάβετε ένα μήνυμα λάθους. 
  
java/generic_methods.txt · Last modified: 2016/02/26 11:15 (external edit)