El método getCanonicalName() de la clase java.lang.Class se utiliza para obtener el nombre canónico de esta clase, que es el nombre canónico definido por la especificación del lenguaje Java. El método devuelve el nombre canónico de esta clase en forma de String.
Sintaxis:
public String getCanonicalName()
Parámetro: Este método no acepta ningún parámetro.
Valor devuelto: este método devuelve el nombre canónico de esta clase en forma de string.
Los siguientes programas muestran el método getCanonicalName().
Ejemplo 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()); } }
Producción:
Class represented by myClass: class Test CanonicalName of myClass: Test
Ejemplo 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()); } }
Producción:
Class represented by myClass: class Main$1Arr CanonicalName of myClass: null
Referencia: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getCanonicalName–