java:generic_methods

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
java:generic_methods [2015/03/19 13:59]
gthanos
java:generic_methods [2015/03/19 14:20]
gthanos
Line 31: Line 31:
 </​code>​ </​code>​
  
-Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. ​Παρατηρήστε ότι ο compiler δεν σας αφήνει να καλέσετε την μη παραμετρική έκδοση ​της μεθόδου. Επίσης αν χρησιμοποιήσετε άλλους τύπους δεδομένων (π.χ. ''<​Integer,​ Integer>''​) τότε ​και πάλι θα λάβετε ​ένα μήνυμα λάθους.+Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. ​Ο compiler έχει ​την δυνατότητα ​να αντιλαμβάνεται τους τύπους των παραμέτρων της μεθόδου ​από τα ορίσματα της μεθόδου. 
 + 
 +Δοκιμάστε να μεταγλωττίσετε τις παρακάτω δύο παραλλαγές του ​κώδικα και δείτε τα μηνύματα που θα σας βγάλει ο compiler. 
 +<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,​ Integer>​compare(p1,​ p2); 
 +    if( same ) { 
 +      System.out.println("​p1 is equal to p2"​);​ 
 +    }  
 +    else { 
 +      System.out.println("​p1 is NOT equal to p2"​);​ 
 +    } 
 +  } 
 +
 +</​code>​ 
 + 
 +<code java OrderedPairUsage.java>​ 
 +public class OrderedPairUsage { 
 +  public static void main(String args[]) { 
 +    Pair<​Integer,​ String> p1 =  
 +      new OrderedPair<>​(1,​ "​Black"​);​ 
 +    Pair<​Integer,​ Integer> p2 =  
 +      new OrderedPair<>​(1,​ 3); 
 +    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>​
  
java/generic_methods.txt · Last modified: 2016/02/26 11:15 (external edit)