获取Class实例的4种方式
代码:
package com.it.test; import org.junit.Test; public class Test01 { @Test public void test01() throws ClassNotFoundException { //方式1:最常用,很多框架会用到,比如spring、mybatis等 Class clazz01 = Class.forName("java.lang.String"); //方式2 Class clazz02 = new String().getClass(); //方式3 Class clazz03 = String.class; //方式4:通过类加载器获取 //4.1 先获取本类的类加载器(应用类加载器(System classLoader)) ClassLoader classLoader = Test01.class.getClassLoader(); //4.2 再通过4.1种本类的类加载器,去获取java.lang.String的Class实例 Class<?> clazz04 = classLoader.loadClass("java.lang.String"); System.out.println(clazz01 == clazz02); System.out.println(clazz02 == clazz03); System.out.println(clazz01 == clazz04); System.out.println(clazz01); } }
输出:
true
true
true
class java.lang.String