一,this.getClass().getCanonicalName();
二,“类名”.class.getName();
三,this.getClass().getName();
相比较而言更喜欢第一种方法,因为移植性高,第二种方法,有点多次一举的感觉,尽管也是获取到了类的全部名称,包括包名称,但还是不爽。
第一,三种的区别还不是很清楚
getCanonicalName()
返回 Java Language Specification 中所定义的底层类的规范化名称。
getName()
以String的形式返回此Class对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
更新:第一种方法在web工程中测试成功,但是在普通工程中报错,可能是因为this关键字的原因。