Java中的canonical name、simple name和class name
转载请注明来自:黄朝辉的博客
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相关推荐
- 如何检查Java中是否存在文件
java.io.File class exists() method can be used to check if file exists or not in java. If file exist ...
- Java中常见的单词
abstract (关键字) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]'(n.入口 ...
- java中常见的英语单词
abstract (关键字) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]'(n.入口 ...
- java中调用python
在Java中调用Python </h1><div class="clear"></div><div class="postBod ...
- 2.Java中String,StringBuilder以及StringBuffer的关系与区别
String StringBuffer StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...
- java中静态变量和静态方法分别有什么特点?
java中静态变量和静态方法分别有什么特点? 悬赏分:0 - 解决时间:2006-4-10 10:28 提问者: vv_clear - 二级 最佳答案 为什么问了两次?再贴上另一篇 Thinking: ...
- java中setid(),Java Process.setId方法代碼示例
本文整理匯總了Java中org.activiti.bpmn.model.Process.setId方法的典型用法代碼示例.如果您正苦於以下問題:Java Process.setId方法的具體用法?Ja ...
- Java中的接口命名[关闭]
本文翻译自:Interface naming in Java [closed] Most OO languages prefix their interface names with a capita ...
- 在Java中使用final关键字可以提高性能吗?
本文翻译自:Does use of final keyword in Java improve the performance? In Java we see lots of places where ...
最新文章
- python扩展库丰富吗_python扩展库
- Error: Loading chunk * failed,Vue Router懒加载报错问题解决方案
- 王思聪限制消费令被取消!
- 玩转Koa之核心原理分析
- Symbian c++ 在3版中实现并动态配置开机自启动
- Eight Queens UVa 750
- Not a git repository (or any of the parent directories): .git
- 【2019JXCPC省赛:H】Rng(找规律+逆元)
- springboot整合支付宝支付
- 实现自己的Protobuf Any
- Unity线性空间UI的问题
- 旧电脑利用:windows网页版魔镜【不需树莓派】
- [原创]桓泽学音频编解码(7):MP3 和 AAC 中huffman解码原理,优化设计与参考代码中实现...
- 梦幻手游服务器维护摆摊公示时间,梦幻西游手游摆摊攻略 卖家关注公示期最重要...
- 第七届开源操作系统年度技术会议(OS2ATC)盛大开幕,从编译器到软件定义卫星精彩议题大曝光
- 中关村科技企业家协会网安创新分会在京成立,墨云科技成为首批会员单位
- 快手2020校招笔试题 2019.8.25
- Android相册列表和栏目数据表的字段结构
- 超前进位加法器(较为详细讲解)
- Unreal中利用控件蓝图系统控制模型的材质切换