Mega Code Archive

 
Categories / Java Tutorial / Collections
 

Creating Custom Enumerations

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