Generics Java Tutorial

The syntax for using an upper bound is as follows:

GenericType

import java.util.ArrayList;
import java.util.List;
public class MainClass {
  public static double getAverage(List numberList) {
    double total = 0.0;
    for (Number number : numberList) {
      total += number.doubleValue();
    }
    return total / numberList.size();
  }
  public static void main(String[] args) {
    List integerList = new ArrayList();
    integerList.add(3);
    integerList.add(30);
    integerList.add(300);
    System.out.println(getAverage(integerList)); // 111.0
    List doubleList = new ArrayList();
    doubleList.add(3.0);
    doubleList.add(33.0);
    System.out.println(getAverage(doubleList)); // 18.0
  }
}
111.0
18.0