Mega Code Archive

 
Categories / Java Tutorial / Generics
 

Bounded Types

The type argument for T must be either Number, or a class derived from Number. class Stats<T extends Number> {    T[] nums;       Stats(T[] o) {      nums = o;    }      double average() {      double sum = 0.0;     for(int i=0; i < nums.length; i++)        sum += nums[i].doubleValue();     return sum / nums.length;   }  }    public class MainClass {    public static void main(String args[]) {      Integer inums[] = { 1, 2, 3, 4, 5 };     Stats<Integer> iob = new Stats<Integer>(inums);     double v = iob.average();     System.out.println("iob average is " + v);     Double dnums[] = { 1.1, 2.2, 3.3, 4.4, 5.5 };     Stats<Double> dob = new Stats<Double>(dnums);     double w = dob.average();     System.out.println("dob average is " + w);   }  } iob average is 3.0 dob average is 3.3