 
                            ...
| Code Block | ||
|---|---|---|
| 
 | ||
| 
public class Overloader {
  private static String display(ArrayList<Integer>ArrayList<Integer> a) {
    return "ArrayList""ArrayList";
  }
  private static String display(LinkedList<String>LinkedList<String> l) {
    return "LinkedList""LinkedList";
  }
  private static String display(List<?>List<?> l) {
    return ""List is not recognized"";
  }
  public static void main(String[] args) {
    // Array of lists
    List<?>List<?>[] invokeAll = new List<?>List<?>[] {new ArrayList<Integer>ArrayList<Integer>(), 
    new LinkedList<String>LinkedList<String>(), new Vector<Integer>Vector<Integer>()};
    for(List<?>List<?> i : invokeAll) {
      System.out.println(display(i));
    }
  }
} | 
...
| Code Block | ||
|---|---|---|
| 
 | ||
| 
class Overloader {
public class Overloader {
  private static String display(List<?>List<?> l) {
    return (l instanceof ArrayList ? "Arraylist""Arraylist" : (l instanceof LinkedList ? "LinkedList""LinkedList"
    : ""List is not recognized""));
  }
  public static void main(String[] args) {
    List<?>List<?>[] invokeAll = new List<?>List<?>[] {new ArrayList<Integer>ArrayList<Integer>(), 
    new LinkedList<String>LinkedList<String>(), new Vector<Integer>Vector<Integer>()};
    for(List<?>List<?> i : invokeAll) {
      System.out.println(display(i));
    }
  }
}
 | 
...
MET32-J. Ensure that constructors do not call overridable methods       12. Methods (MET)       MET34-J. Follow the general contract when implementing the compareTo method