getSimpleName :就是类名
getName 和getCanonicalName大部分情况是一样的,会展示整个路径名。但在展示内部类的时候就有区别了。
举例:
package com.shansun.seri.json;
public class JsonSerialize implements Serialize {
...
public static class SerializerUnit4Map {
}
...
}
String canonicalName = SerializerUnit4Map.class.getCanonicalName();
System.out.println(canonicalName);
String name = SerializerUnit4Map.class.getName();
System.out.println(name);
输出结果:
com.shansun.seri.json.JsonSerialize.SerializerUnit4Map
com.shansun.seri.json.JsonSerialize$SerializerUnit4Map
getName返回的是[[Ljava.lang.String之类的表现形式,而getCanonicalName返回的就是跟我们声明类似的形式。