Lecture 2 - Generic Types example
public class OrderedPair<CompositionType> {
private CompositionType first, second;
public OrderedPair() {
} // end default constructor
public void setPair(CompositionType firstItem, CompositionType secondItem) {
first = firstItem;
second = secondItem;
} // end setPair
public void changeOrder() {
CompositionType temp = first;
first = second;
second = temp;
} // end changeOrder
public String toString() {
return "(" + first + ", " + second + ")";
} // end toString
public static void main(String[] args) {
// T is replaced by type String
OrderedPair < String > fruit = new OrderedPair < String > ();
fruit.setPair ("apples", "oranges");
System.out.println (fruit);
fruit.changeOrder ();
System.out.println (fruit);
// T is replaced by type Name
Name tweedleDee = new Name ("Tweedle", "Dee");
Name tweedleDum = new Name ("Tweedle", "Dum");
OrderedPair < Name > couple = new OrderedPair < Name > ();
couple.setPair (tweedleDee, tweedleDum);
System.out.println (couple);
couple.changeOrder ();
System.out.println (couple);
}
}