I am trying to write a generic function that will accept any enum, and put the values into a map for use in a drop down.
This is what I have so far, (for a specific enum), can my function enumToMap be rewritten generally to accept any enum type?
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
    private enum testenum{
        RED,BLUE,GREEN
    }
    private static Map enumToMap(testenum e){
        HashMap result = new HashMap();
        List<testenum> orderReceiptKeys = Arrays.asList(e.values());
        List<String> orderReceiptValues = unCapsCase(orderReceiptKeys);
        for(int i=0;i<orderReceiptKeys.size();i++){
            result.put(orderReceiptKeys.get(i), orderReceiptValues.get(i));
        }
        return result;
    }
     /**
     * Converts a string in the form of 'TEST_CASE' to 'Test case'
     * @param s
     * @return
     */
    private static String unCapsCase(String s){
        StringBuilder builder = new StringBuilder();
        boolean first=true;
        for(char c:s.toCharArray()){
            if(!first)
                c=Character.toLowerCase(c);
            if(c=='_')
                c=' ';
            builder.append(c);
            first=false;
        }
        return builder.toString();
    }
    /**
     * Converts a list of strings in the form of 'TEST_CASE' to 'Test case'
     * @param l
     * @return
     */
    private static List<String> unCapsCase(List l){
        List<String> list = new ArrayList();
        for(Object o:l){
            list.add(unCapsCase(o.toString()));
        }
        return list;
    }
    public static void main(String[] args) throws Exception {
        try{
            testenum e=testenum.BLUE;
            Map map = enumToMap(e);
            for(Object k:map.keySet()){
                System.out.println(k.toString()+"=>"+map.get(k));
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
Thanks for any suggestions.
