public static void main(String[] args) {
? ? //判斷當(dāng)前應(yīng)用是否加載了某個類
? ? String str = "main.CollectionsUtilsTest";
? ? try {
? ? ? ? //方法一
? ? ? ? Class<?> forName = Class.forName(str);
? ? ? ? System.out.println(forName);
? ? ? ? //方法二
? ? ? ? Class<?> aClass = ClassUtilsTest.class.getClassLoader().loadClass(str);
? ? ? ? System.out.println(aClass);
? ? } catch (ClassNotFoundException e) {
? ? ? ? e.printStackTrace();
? ? }
? ? ? //方法三:Spring自帶工具ClassUtils
? ? boolean present = ClassUtils.isPresent(str, null);
? ? System.out.println(present);
}
主要說一下第三個方法
本質(zhì)上還是通過Class.forName();
public static boolean isPresent(String className,@Nullable ClassLoader classLoader) {
try {
forName(className, classLoader);
return true;
}
catch (Throwable ex) {
// Class or one of its dependencies is not present...
? ? ? return false;
}
}