java 类 类名称_Java类中规范名称,简单名称和类名称之间有什么区别?

如果你不确定某事,请尝试先写一个测试。

我这样做:

//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());

打印:

int

int

int

java.lang.String

java.lang.String

String

java.util.AbstractMap$SimpleEntry

java.util.AbstractMap.SimpleEntry

SimpleEntry

ClassnameTest$1

null

在最后一个块中有一个空行,其中getSimpleName返回一个空字符串。

看这个的结果是:

>名称是您将用于动态加载类的名称,例如,使用默认ClassLoader调用Class.forName。>规范名称是将在import语句中使用的名称,并且唯一标识该类。在toString或日志操作期间可能有用。>简单名称松散地标识类,在toString或日志操作期间也可能是有用的,但不能保证是唯一的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值