- Java.lang Package classes
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java - Enum getDeclaringClass() method
Description
The Java Enum getDeclaringClass() method returns the Class object corresponding to this enum constant's enum type. Two enum constants e1 and e2 are of the same enum type if and only if e1.getDeclaringClass() == e2.getDeclaringClass().
Declaration
Following is the declaration for java.lang.Enum.getDeclaringClass() method
public final Class<E> getDeclaringClass()
Parameters
NA
Return Value
This method returns the Class object corresponding to this enum constant's enum type.
Exception
NA
Example 1
The following example shows the usage of getDeclaringClass() method for an enum using its reference.
package com.tutorialspoint; // enum showing topics covered under Tutorials enum Tutorials { Java, HTML, Python; } public class EnumDemo { public static void main(String args[]) { Tutorials t1, t2, t3; t1 = Tutorials.Java; t2 = Tutorials.HTML; t3 = Tutorials.Python; // returns the Class object corresponding to an enum System.out.println(t2.getDeclaringClass()); } }
Output
Let us compile and run the above program, this will produce the following result −
class com.tutorialspoint.Tutorials
Example 2
The following example shows the usage of getDeclaringClass() method for an enum using its type directly.
package com.tutorialspoint; // enum showing topics covered under Tutorials enum Tutorials { Java, HTML, Python; } public class EnumDemo { public static void main(String args[]) { Tutorials t1, t2, t3; t1 = Tutorials.Java; t2 = Tutorials.HTML; t3 = Tutorials.Python; // returns the Class object corresponding to an enum System.out.println(Tutorials.HTML.getDeclaringClass()); } }
Output
Let us compile and run the above program, this will produce the following result −
class com.tutorialspoint.Tutorials
Example 3
The following example shows the usage of getDeclaringClass() method for an enum to check if enum are of same type. As we're comparing two enums of different types, program will give compiler error.
package com.tutorialspoint; // enum showing topics covered under Tutorials enum Tutorials { Java, HTML, Python; } // a different enum with same values enum Tutorial { Java, HTML, Python; } public class EnumDemo { public static void main(String args[]) { if(Tutorials.HTML.getDeclaringClass() == Tutorials.Python.getDeclaringClass()) { System.out.println("Enums are of same type"); } if(Tutorial.HTML.getDeclaringClass() == Tutorials.Python.getDeclaringClass()) { System.out.println("Enums are of same type"); } } }
Output
Let us compile and run the above program, this will produce the following result −
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Incompatible operand types Class<Tutorial> and Class<Tutorials> at com.tutorialspoint.EnumDemo.main(EnumDemo.java:20)