Generics Java Tutorial

class ListItem {
  public ListItem(Object item) {
    this.item = item;
    next = null;
  }
  public String toString() {
    return "ListItem " + item;
  }
  ListItem next;
  Object item;
}
class LinkedList {
  public LinkedList() {
  }
  public LinkedList(T item) {
    if (item != null) {
      current = end = start = new ListItem(item);
    }
  }
  public LinkedList(T[] items) {
    if (items != null) {
      for (int i = 0; i < items.length; i++) {
        addItem(items[i]);
      }
      current = start;
    }
  }
  public void addItem(T item) {
    ListItem newEnd = new ListItem(item);
    if (start == null) {
      start = end = newEnd;
    } else {
      end.next = newEnd;
      end = newEnd;
    }
  }
  public T getFirst() {
    current = start;
    return start == null ? null : start.item;
  }
  public T getNext() {
    if (current != null) {
      current = current.next;
    }
    return current == null ? null : current.item;
  }
  private ListItem start = null;
  private ListItem end = null;
  private ListItem current = null;
  private class ListItem {
    public ListItem(T item) {
      this.item = item;
      next = null;
    }
    public String toString() {
      return "ListItem " + item;
    }
    ListItem next;
    T item;
  }
}
public class MainClass {
  public static void main(String[] args) {
    LinkedList temperatures = new LinkedList();
    // Insert 6 temperature values 0 to 25 degress Centigrade
    for (int i = 0; i < 6; i++) {
      temperatures.addItem(25.0 * Math.random());
    }
    System.out.printf("%.2f degrees Fahrenheit%n", toFahrenheit(temperatures.getFirst()));
    Double value = null;
    while ((value = temperatures.getNext()) != null) {
      System.out.printf("%.2f degrees Fahrenheit%n", toFahrenheit(value));
    }
  }
  // Convert Centigrade to Fahrenheit
  public static double toFahrenheit(double temperature) {
    return 1.8 * temperature + 32.0;
  }
}
69.27 degrees Fahrenheit
51.55 degrees Fahrenheit
59.97 degrees Fahrenheit
35.82 degrees Fahrenheit
41.28 degrees Fahrenheit
37.99 degrees Fahrenheit