Collections Java Tutorial

import java.lang.reflect.Array;
import java.util.Enumeration;
class ArrayEnumeration implements Enumeration {
  private final int size;
  private int cursor;
  private final Object array;
  public ArrayEnumeration(Object obj) {
    Class type = obj.getClass();
    if (!type.isArray()) {
      throw new IllegalArgumentException("Invalid type: " + type);
    }
    size = Array.getLength(obj);
    array = obj;
  }
  public boolean hasMoreElements() {
    return (cursor < size);
  }
  public Object nextElement() {
    return Array.get(array, cursor++);
  }
}
public class MainClass {
  public static void main(String args[]) {
    Object obj = new int[] { 2, 3, 5, 8, 13, 21 };
    Enumeration e = new ArrayEnumeration(obj);
    while (e.hasMoreElements()) {
      System.out.println(e.nextElement());
    }
    try {
      e = new ArrayEnumeration("Not an Array");
    } catch (IllegalArgumentException ex) {
      System.out.println(ex.getMessage());
    }
  }
}
2
3
5
8
13
21
Invalid type: class java.lang.String