Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: small code cleanup

...

Code Block
bgColor#ccccff
class GoodListAdder {
  private static void addToList(List<Integer> list, Integer i) {
    list.add(i);
  }

  private static <T> void addToList(List<Double>List<T> list, DoubleT dt) {
    list.add(dt);
  }

  private static <T> void printOne(T type) {
    if (type instanceof Integer) {
      List<Integer> list = new ArrayList<Integer>();
      addToList(list, 1);
      System.out.println(list.get(0));
    }
    else if (type instanceof Double) {
      List<Double> list = new ArrayList<Double>();

      // This will not compile if addToList(list, 1) is used
      addToList(list, 1.0);

      System.out.println(list.get(0));
    }
    else {
      System.out.println("Cannot print in the supplied type");
    }
  }

  public static void main(String[] args) {
    double d = 1;
    int i = 1;
    System.out.println(d);
    GoodListAdder.printOne(d);
    System.out.println(i);
    GoodListAdder.printOne(i);
  }
}

...