首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

界别getName、getCanonicalName与getSimpleName

2012-12-28 
区分getName、getCanonicalName与getSimpleName举例,现有一个类如下:?package com.shansun.seri.jsonpubli

区分getName、getCanonicalName与getSimpleName

举例,现有一个类如下:

?

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);String simpleName = SerializerUnit4Map.class.getSimpleName();System.out.println(simpleName);

?输出结果为:

?

com.shansun.seri.json.JsonSerialize.SerializerUnit4Mapcom.shansun.seri.json.JsonSerialize$SerializerUnit4MapSerializerUnit4Map

其实getName、getCanonicalNam这两个方法没有什么不同的,对于大部分class来说,但是对于array或内部类等就显示出来了。

getName返回的是[[Ljava.lang.String之类的表现形式,而getCanonicalName返回的就是跟我们声明类似的形式。

BTW,在load class的时候需要的名字也是getName这种的名字。

?

?

?


哈哈

热点排行