且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将字符串转换为Enum类

更新时间:2022-11-11 13:09:20

以下作品Java6在Eclipse下):

The following works (tested with Java6 under Eclipse):

package com.bob;
public class Test
{
    public enum Letters {
        A, B, C, D, E
    }

    public enum Numbers {
        ONE, TWO, THREE, FOUR, FIVE
    }

    public static void main(String [] args) throws Exception 
    {

        System.out.println("Enter in you choice, letters (Letters) or numbers(Numbers)");
        String entry = "";
        InputStreamReader input = new InputStreamReader(System.in);
        BufferedReader reader = new BufferedReader(input);
        entry = reader.readLine();

        Class<Enum<?>> clazz = (Class<Enum<?>>)Class.forName("com.bob.Test$" + entry);

        for (Enum<?> x : clazz.getEnumConstants())
        {
            System.out.println(x);
        }

    }
}

请注意枚举的完全限定类名为 com.bob.Test $ Letters com.bob.Test $ Numbers due成为内部班。错误处理作为一个练习。

Notice that the fully qualified classname of the enums are com.bob.Test$Letters and com.bob.Test$Numbers due to being inner classes. Error handling is left as an exercise.