四季花海
使用a.getClass时,你有类/类型的实例,你想获得它的确切类型。while a.class在type可用并要创建实例时使用。在编译时求值时,还getClass()返回实例的运行时类型.class。考虑到性能getClass()和.class,.class具有比更好的性能 getClass() 。范例:public class PerfomanceClass { public static void main(String[] args) { // TODO Auto-generated method stub long time=System.nanoTime(); Class class1="String".getClass(); class1="String".getClass(); class1="String".getClass(); class1="String".getClass(); System.out.println("time (getClass()) :"+(System.nanoTime()-time)+" ns"); long time2=System.nanoTime(); Class class2=String.class; class2=String.class; class2=String.class; class2=String.class; System.out.println("time (.class):"+(System.nanoTime()-time2)+" ns"); }}输出:time (getClass()) : 79410 nstime (.class) : 8032 ns