Никто не упомянул об этом, потому что для описанной проблемы перехват ClassCastException действительно лучший способ ... однако ...
Если все, что вы хотите сделать, это проверить наличие файла .class на пути к классам, тогда попытка получить класс как ресурс может сработать.
URL u = getClass().getResource( "/java/util/List.class" );
Загрузчики классов, которые по какой-либо причине не загружают свои классы из доступных ресурсов, будут означать, что класс не будет найден, но большинство стандартных загрузчиков классов разрешат эту работу. Я упоминаю об этом, потому что, когда он работает, у вас есть возможность видеть, где именно находится файл .class на диске.