获取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
原文地址:https://www.cnblogs.com/cookiewu/p/13603698.html