public class Enumvalues{

    enum courseList {
        JAVA,
        C,
        PYTHON,
        PERL
    }

    enum generalInformation {
        NAME,
        AGE,
        PHONE
    }

    enum sex {
        MALE,
        FEMALE
    }
}

public static void main(String args[]) {
     printEnumValue(generalInformation); // how to pass enum in this block
}


static void printEnumValue(enum generalInformation) { // how to receive enum  in this block
    System.out.println(java.util.Arrays.asList(generalInformation.values()));
}

最佳答案

枚举是一类。因此,您可以传递类的实例(例如EnumValues.generalInformation.PHONE),也可以传递类本身(例如EnumValues.generalInformation.class)。

如果要列出枚举类的所有实例,则需要传递枚举类,并使用EnumSet.allOf(EnumValues.generalInformation.class)为例。

您的困惑主要是由于您不遵守Java命名约定。枚举是类,应以大写字母开头(例如GeneralInformation)。混淆的另一个原因是名称的错误选择。 JAVA不是类(class)列表。这是一门类(class)。因此,枚举应命名为Course

10-01 18:54