Java class的getName()和getCanonicalName()和getSimpleName()

概述

  • getSimpleName() 返回类名
  • getName() 返回全路径+类名,虚拟机里面的class的表示
  • getCanonicalName() 返回全路径+类名,更容易理解的表示
  • 对于普通类没有区别,对于内部类和数组类才会有区别。

实例

	public static void main(String[] args){
	    Hello hello = new Hello();
	    System.out.println(hello.getClass());
	    System.out.println(hello.getClass().getSimpleName());
	    System.out.println(hello.getClass().getName());
	    System.out.println(hello.getClass().getCanonicalName());
	    
	    Hello.InnerClass innerClass = new Hello.InnerClass();
	    System.out.println(innerClass.getClass());
	    System.out.println(innerClass.getClass().getSimpleName());
	    System.out.println(innerClass.getClass().getName());
	    System.out.println(innerClass.getClass().getCanonicalName());
	}
	/*  结果:
		class com.example.demo.Hello
		Hello
		com.example.demo.Hello
		com.example.demo.Hello
		
		class com.example.demo.Hello$InnerClass
		InnerClass
		com.example.demo.Hello$InnerClass
		com.example.demo.Hello.InnerClass
    */

路径

Java class的getName()和getCanonicalName()和getSimpleName()

上一篇:javaObject类—getClass方法


下一篇:项目读取配置文件