java:generic_bounded_types

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_bounded_types [2018/04/15 14:14]
gthanos [Άνω φραγμένοι παραμετρικοί τύποι (Upper Bounded Wildcards)]
java:generic_bounded_types [2020/03/11 07:40] (current)
Line 9: Line 9:
  
 <code java> <code java>
-public static void process(List<? extends Number> list) {  +public static void process(List<? extends Number> list) { /  */ }
-  Random rand = new Random(new Date().getTime()); +
-  for(int i=0; i<10; i++) +
-    list.add(rand.nextDouble()*10000); +
-}+
 </code> </code>
  
-Στην παραπάνω δήλωση ο τύπος δεδομένων της παραμετρικής κλάσης ''List'' μπορεί να είναι η κλάση ''Number'' η οποιαδήποτε υποκλάση της ''Number'' (π.χ ''Integer'', ''Double'', ''Float''). Ο παραπάνω τύπος είναι φραγμένος προς τα πάνω, αλλά όχι προς τα κάτω.+Στην παραπάνω δήλωση ο τύπος δεδομένων της παραμετρικής κλάσης ''java.util.List'' μπορεί να είναι η κλάση ''java.lang.Number'' η οποιαδήποτε υποκλάση της ''java.lang.Number'' (π.χ ''Integer'', ''Double'', ''Float''). Ο παραπάνω τύπος είναι φραγμένος προς τα πάνω.
  
 ===== Κάτω φραγμένοι παραμετρικοί τύποι (Lower Bounded Wildcards) ===== ===== Κάτω φραγμένοι παραμετρικοί τύποι (Lower Bounded Wildcards) =====
Line 28: Line 24:
 </code> </code>
  
-Στην παραπάνω δήλωση ο τύπος δεδομένων της παραμετρικής κλάσης ''List'' μπορεί να είναι η κλάση ''Integer'' ή οποιαδήποτε υπερ-κλάση της ''Integer'' (π.χ ''Number'').+Στην παραπάνω δήλωση ο τύπος δεδομένων της παραμετρικής κλάσης ''java.util.List'' μπορεί να είναι η κλάση ''java.lang.Integer'' ή οποιαδήποτε υπερ-κλάση της ''java.lang.Integer'' (π.χ ''java.lang.Object'').
  
  
Line 54: Line 50:
 </code> </code>
  
-Σε αναλογία με το παραπάνω, εάν θέλουμε να γράψουμε μία μέθοδο που να τυπώνει μόνο αριθμούς (υποκλάσεις της //abstract// κλάσης ''Number'') τότε αρκεί να γράψουμε το παρακάτω+Σε αναλογία με το παραπάνω, εάν θέλουμε να γράψουμε μία μέθοδο που να τυπώνει μόνο αριθμούς, αλλά όχι String (δηλαδή υποκλάσεις της //abstract// κλάσης ''Number'') τότε αρκεί να γράψουμε το παρακάτω:
  
 <code java> <code java>
java/generic_bounded_types.1523801685.txt.gz · Last modified: 2018/04/15 13:14 (external edit)