Да, использование .class
загрузит класс, но не беспокойтесь об этом - все в java.lang
будет уже загружено до того, как ваша программа даже запустится, потому что все эти классы либо используются JVM или используется другими классами API, которые предварительно загружены.
Если вы хотите проверить класс без загрузки класса, вы можете сделать что-то вроде
if (clazz.getName().equals("com.foo.MyClass")) ...
но это было бы довольно хрупко; Я бы избегал этого, если бы не было действительно веской причины.
В любом случае, запустите Java с -verbose:class
, чтобы увидеть все предварительно загруженные классы!