Java枚举getDeclaringClass()方法与示例

枚举类getDeclaringClass()方法

  • getDeclaringClass()方法在java.lang包中可用。

  • getDeclaringClass()方法用于返回表示此枚举常量的枚举类型的Class对象。当且仅当满足以下条件时,两个枚举常量才能相同:enum1.getDeclaringClass()== enum2.getDeclaringClass()

  • getDeclaringClass()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • 返回Class对象时,getDeclaringClass()方法不会引发异常。

语法:

    public final Class getDeclaringClass();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为Class,它返回一个“ Class”类型的对象,该对象表示此枚举常量的枚举类型。

示例

//Java程序演示示例 
//阶级getDeclaringClass() //枚举方法 

enum Month {

    JAN,
    FEB,
    MAR,
    APR,
    MAY;
}

enum Weeks {

    SUN,
    MON,
    TUE,
    WED,
    THU;
}

public class GetDeclaringClass {
    public static void main(String args[]) {

        //通过使用valueOf()方法是获取枚举
        //给定枚举常量的值
        Month m1 = Month.valueOf("JAN");
        Month m2 = Month.valueOf("FEB");
        Month m3 = Month.valueOf("MAR");
        Month m4 = Month.valueOf("APR");
        Month m5 = Month.valueOf("MAY");

        Weeks w1 = Weeks.valueOf("SUN");
        Weeks w2 = Weeks.valueOf("MON");
        Weeks w3 = Weeks.valueOf("TUE");
        Weeks w4 = Weeks.valueOf("WED");
        Weeks w5 = Weeks.valueOf("THU");

        System.out.println("Display Corresponding class:");

        System.out.println(m1.name() + " " + m1.getDeclaringClass());
        System.out.println(m2.name() + " " + m2.getDeclaringClass());
        System.out.println(m2.name() + " " + m3.getDeclaringClass());
        System.out.println(w1.name() + " " + w1.getDeclaringClass());
        System.out.println(w3.name() + " " + w3.getDeclaringClass());
    }

}

输出结果

Display Corresponding class:
JAN class Month
FEB class Month
FEB class Month
SUN class Weeks
TUE class Weeks