转载请注明来自:黄朝辉的博客

1. 测试

//primitive
System.out.println(int.class.getName());
System.out.println(int.class.getCanonicalName());
System.out.println(int.class.getSimpleName());System.out.println();//class
System.out.println(String.class.getName());
System.out.println(String.class.getCanonicalName());
System.out.println(String.class.getSimpleName());System.out.println();//inner class
System.out.println(HashMap.SimpleEntry.class.getName());
System.out.println(HashMap.SimpleEntry.class.getCanonicalName());
System.out.println(HashMap.SimpleEntry.class.getSimpleName());        System.out.println();//anonymous inner class
System.out.println(new Serializable(){}.getClass().getName());
System.out.println(new Serializable(){}.getClass().getCanonicalName());
System.out.println(new Serializable(){}.getClass().getSimpleName());

2.打印结果

int
int
intjava.lang.String
java.lang.String
Stringjava.util.AbstractMap$SimpleEntry
java.util.AbstractMap.SimpleEntry
SimpleEntryClassnameTest$1
null

最后一行是一个空行,因为getSimpleName返回了一个空string。

3.结论

  • name :name是用来动态加载类的,比如调用Class.forName来使用默认的ClassLoader
  • canonical name:用来导入和唯一的标识一个类。当调用toString或者记日志时很有用。
  • simple name:就是一个简简单单的名字,不一定唯一。

4.参考

stackoverflow上解释

Java中的canonical name、simple name和class name相关推荐

  1. 如何检查Java中是否存在文件

    java.io.File class exists() method can be used to check if file exists or not in java. If file exist ...

  2. Java中常见的单词

    abstract (关键字)             抽象 ['.bstr.kt]  access                            vt.访问,存取 ['.kses]'(n.入口 ...

  3. java中常见的英语单词

    abstract (关键字)             抽象 ['.bstr.kt]  access                            vt.访问,存取 ['.kses]'(n.入口 ...

  4. java中调用python

    在Java中调用Python </h1><div class="clear"></div><div class="postBod ...

  5. 2.Java中String,StringBuilder以及StringBuffer的关系与区别

    String     StringBuffer     StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...

  6. java中静态变量和静态方法分别有什么特点?

    java中静态变量和静态方法分别有什么特点? 悬赏分:0 - 解决时间:2006-4-10 10:28 提问者: vv_clear - 二级 最佳答案 为什么问了两次?再贴上另一篇 Thinking: ...

  7. java中setid(),Java Process.setId方法代碼示例

    本文整理匯總了Java中org.activiti.bpmn.model.Process.setId方法的典型用法代碼示例.如果您正苦於以下問題:Java Process.setId方法的具體用法?Ja ...

  8. Java中的接口命名[关闭]

    本文翻译自:Interface naming in Java [closed] Most OO languages prefix their interface names with a capita ...

  9. 在Java中使用final关键字可以提高性能吗?

    本文翻译自:Does use of final keyword in Java improve the performance? In Java we see lots of places where ...

最新文章

  1. python扩展库丰富吗_python扩展库
  2. Error: Loading chunk * failed,Vue Router懒加载报错问题解决方案
  3. 王思聪限制消费令被取消!
  4. 玩转Koa之核心原理分析
  5. Symbian c++ 在3版中实现并动态配置开机自启动
  6. Eight Queens UVa 750
  7. Not a git repository (or any of the parent directories): .git
  8. 【2019JXCPC省赛:H】Rng(找规律+逆元)
  9. springboot整合支付宝支付
  10. 实现自己的Protobuf Any
  11. Unity线性空间UI的问题
  12. 旧电脑利用:windows网页版魔镜【不需树莓派】
  13. [原创]桓泽学音频编解码(7):MP3 和 AAC 中huffman解码原理,优化设计与参考代码中实现...
  14. 梦幻手游服务器维护摆摊公示时间,梦幻西游手游摆摊攻略 卖家关注公示期最重要...
  15. 第七届开源操作系统年度技术会议(OS2ATC)盛大开幕,从编译器到软件定义卫星精彩议题大曝光
  16. 中关村科技企业家协会网安创新分会在京成立,墨云科技成为首批会员单位
  17. 快手2020校招笔试题 2019.8.25
  18. Android相册列表和栏目数据表的字段结构
  19. 超前进位加法器(较为详细讲解)
  20. Unreal中利用控件蓝图系统控制模型的材质切换

热门文章

  1. MQTT QoS 设计:车联网平台消息传输质量保障
  2. 日本地震波及全球产业链:芯片价格走势难料
  3. 怎样旋转PDF图片的方向
  4. jQuery试卷自动排版系统
  5. 论“事前-事中-事后”的重要性
  6. 部分APP无法代理抓包的原因及解决方法(flutter 应用抓包)
  7. html 手机端 应用程序,移动端Web开发
  8. docker-compose下载太慢解决方法
  9. Certbot自签证书
  10. *这是一条神奇的天路*