The getCanonicalName() method of java.lang.Class class is used to get the canonical name of this class, which is the canonical name as defined by the Java Language Specification. The method returns the canonical name of this class in the form of String.
Syntax:
public String getCanonicalName()
Parameter: This method does not accept any parameter.
Return Value: This method returns the canonical name of this class in the form of String.
Below programs demonstrate the getCanonicalName() method.
Example 1:
Java
// Java program to demonstrate getCanonicalName() method import java.util.*; public class Test { public static void main(String[] args) throws ClassNotFoundException { // returns the Class object for this class Class myClass = Class.forName("Test"); System.out.println("Class represented by myClass: " + myClass.toString()); // Get the canonical name of myClass // using getCanonicalName() method System.out.println("CanonicalName of myClass: " + myClass.getCanonicalName()); } } |
Output:
Class represented by myClass: class Test CanonicalName of myClass: Test
Example 2:
Java
// Java program to demonstrate getCanonicalName() method import java.util.*; class Main { public Object obj; Main() { class Arr { }; obj = new Arr(); } public static void main(String[] args) throws ClassNotFoundException { Main t = new Main(); // returns the Class object Class myClass = t.obj.getClass(); System.out.println("Class represented by myClass: " + myClass.toString()); // Get the canonical name of myClass // using getCanonicalName() method System.out.println("CanonicalName of myClass: " + myClass.getCanonicalName()); } } |
Output:
Class represented by myClass: class Main$1Arr CanonicalName of myClass: null
Reference: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getCanonicalName–