枚举类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()方法 不会引发异常。
public final Class getDeclaringClass();
Parameter(s): 参数: -
It does not accept any parameter.
它不接受任何参数。
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