getCanonicalName getName getSimpleName 区别

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返回的就是跟我们声明类似的形式。

发布了19 篇原创文章 · 获赞 2 · 访问量 1165

猜你喜欢

转载自blog.csdn.net/xyyh6600/article/details/105043262
今日推荐