天天看点

Java枚举getDeclaringClass()方法与示例

枚举类getDeclaringClass()方法 (Enum Class getDeclaringClass() method)

  • getDeclaringClass() method is available in java.lang package. getDeclaringClass()方法 在java.lang包中可用。
  • getDeclaringClass() method is used to return the Class object denoting the enum type of this enum constants. Two enum constants can be same if and only if the condition: enum1.getDeclaringClass() == enum2.getDeclaringClass() . getDeclaringClass()方法 用于返回表示此枚举常量的枚举类型的Class对象。 当且仅当满足以下条件时,两个枚举常量才能相同: enum1.getDeclaringClass()== enum2.getDeclaringClass()
  • getDeclaringClass() method is a non-static method, it is accessible with the class object only and if we try to access the method with classname then we will get an error. getDeclaringClass()方法 是一种非静态方法,仅可通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。
  • getDeclaringClass() method

    does not throw an exception at the time of returning Class object.

    返回Class对象时,

    getDeclaringClass()方法 不会引发异常。
Syntax: 句法:
public final Class getDeclaringClass();
           
Parameter(s): 参数:
  • It does not accept any parameter.

    它不接受任何参数。

Return value: 返回值:

The return type of this method is Class, it returns an object of "Class" type denoting the enum type of this enum constants.

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

Example: 例:
// Java program to demonstrate the example 
// of Class getDeclaringClass() 
//method of Enum 

enum Month {

    JAN,
    FEB,
    MAR,
    APR,
    MAY;
}

enum Weeks {

    SUN,
    MON,
    TUE,
    WED,
    THU;
}

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

        // By using valueOf() method is to get the enum
        // value of the given enum constants
        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());
    }

}
           
Output 输出量
Display Corresponding class:
JAN class Month
FEB class Month
FEB class Month
SUN class Weeks
TUE class Weeks
           
翻译自: https://www.includehelp.com/java/enum-getdeclaringclass-method-with-example.aspx