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