User Tools

Site Tools


java:generic_methods

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:generic_methods [2017/02/07 15:12] gthanosjava:generic_methods [2020/03/10 10:19] (current) gthanos
Line 5: Line 5:
 <code java Util.java> <code java Util.java>
 public class Util { public class Util {
-  public static <K, V> boolean isEqual(Pair<K, V> p1, Pair<K, V> p2) {+  public static <K, V> boolean areEqual(Pair<K, V> p1, Pair<K, V> p2) {
     return p1.getKey().equals(p2.getKey()) &&     return p1.getKey().equals(p2.getKey()) &&
       p1.getValue().equals(p2.getValue());       p1.getValue().equals(p2.getValue());
Line 13: Line 13:
  
 Ο κώδικας για να καλέσετε μία έκδοση της παραπάνω μεθόδου δίνεται παρακάτω Ο κώδικας για να καλέσετε μία έκδοση της παραπάνω μεθόδου δίνεται παρακάτω
-<code java OrderedPairUsage.java> +<code java SimplePairUsage.java> 
-public class OrderedPairUsage {+public class SimplePairUsage {
   public static void main(String args[]) {   public static void main(String args[]) {
-    Pair<Integer, String> p1 =  +    Pair<Integer, String> p1 = new SimplePair<>(1, "Black"); 
-      new OrderedPair<>(1, "Black"); +    Pair<Integer, String> p2 = new SimplePair<>(1, "Red"); 
-    Pair<Integer, String> p2 =  +    boolean same = Util.<Integer, String>areEqual(p1, p2); 
-      new OrderedPair<>(1, "Red"); +    //OR boolean same = Util.areEqual(p1, p2);
-    boolean same = Util.<Integer, String>isEqual(p1, p2); +
-    //OR boolean same = Util.isEqual(p1, p2);+
     if( same ) {     if( same ) {
       System.out.println("p1 is equal to p2");       System.out.println("p1 is equal to p2");
Line 32: Line 30:
 </code> </code>
  
-Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Ο compiler έχει την δυνατότητα να αντιλαμβάνεται τους τύπους των παραμέτρων της μεθόδου από τα ορίσματα της μεθόδου.+Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Ο //compiler// έχει την δυνατότητα να αντιλαμβάνεται τους τύπους των παραμέτρων της μεθόδου από τα ορίσματα της μεθόδου.
  
 +<WRAP todo 80% center round>
 Δοκιμάστε να μεταγλωττίσετε τις παρακάτω δύο παραλλαγές του κώδικα και δείτε τα μηνύματα που θα σας βγάλει ο compiler. Δοκιμάστε να μεταγλωττίσετε τις παρακάτω δύο παραλλαγές του κώδικα και δείτε τα μηνύματα που θα σας βγάλει ο compiler.
-<code java OrderedPairUsage.java> +</WRAP> 
-public class OrderedPairUsage {+ 
 +<code java SimplePairUsage.java> 
 +public class SimplePairUsage {
   public static void main(String args[]) {   public static void main(String args[]) {
-    Pair<Integer, String> p1 =  +    Pair<Integer, String> p1 = new SimplePair<>(1, "Black"); 
-      new OrderedPair<>(1, "Black"); +    Pair<Integer, String> p2 = new SimplePair<>(1, "Red"); 
-    Pair<Integer, String> p2 =  +    boolean same = Util.<Integer, Integer>areEqual(p1, p2);
-      new OrderedPair<>(1, "Red"); +
-    boolean same = Util.<Integer, Integer>isEqual(p1, p2);+
     if( same ) {     if( same ) {
       System.out.println("p1 is equal to p2");       System.out.println("p1 is equal to p2");
Line 53: Line 52:
 </code> </code>
  
-<code java OrderedPairUsage.java> +<code java SimplePairUsage.java> 
-public class OrderedPairUsage {+public class SimplePairUsage {
   public static void main(String args[]) {   public static void main(String args[]) {
-    Pair<Integer, String> p1 =  +    Pair<Integer, String> p1 = new SimplePair<>(1, "Black"); 
-      new OrderedPair<>(1, "Black"); +    Pair<Integer, Integer> p2 = new SimplePair<>(1, 3); 
-    Pair<Integer, Integer> p2 =  +    boolean same = Util.areEqual(p1, p2);
-      new OrderedPair<>(1, 3); +
-    boolean same = Util.compare(p1, p2);+
     if( same ) {     if( same ) {
       System.out.println("p1 is equal to p2");       System.out.println("p1 is equal to p2");
Line 70: Line 67:
 } }
 </code> </code>
 +
 +|Προηγούμενο: [[:java:generics_raw | Απλοί παραμετρικοί τύποι δεδομένων (Raw Generic Types) ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:generics_inheritance | Κληρονομικότητα Παραμετρικών Τύπων ]] |
 +
  
java/generic_methods.1486480372.txt.gz · Last modified: 2017/02/07 15:12 by gthanos