В каком случае результатом выполнения Class.getClassLoader будет null?
Чтобы ответить на этот вопрос нужно разобраться в двух темах.
Во-первых, экземпляры, относящиеся к Class<T>, являются описанием типов, где считается что перечисления – это классы, а аннотации идентичны интерфейсам. Экземпляры, принадлежащие Class<T> хранят, в основном, ту же информацию, что и файл class и создаются исключительно внутри загрузчика.
Во-вторых, следует рассмотреть особенности метакласса Class<T> для примитивных и void типов и массивов. Для доступа к экземплярам следует использовать стандартный синтаксис, например, vod.class.
Для void в качестве параметра <T> используется встроенный стандартный тип java.lang.Vod. Для примитивов – обёртка. Для обёрточного типа применяется экземпляр Class.
Для большинства классов getClassLoader выдаёт загрузчик этого класса. null возвращается для класса, загруженного с помощью bootstrap загрузчика. Возвращаемое значение для массива полностью совпадает со значением, полученным для любого его элемента. Значение для void равно null.
Готовьтесь к работе в команде
Обучающая платформа AndroidSprint
Освойте Agile, Scrum и Kanban. Поймёте, как устроены процессы в IT-командах — придёте на работу подготовленным
- Методологии: Agile и Scrum — как организованы спринты и роли в команде
- Инструменты: Jira, Git Flow, код-ревью — что используют в продакшене
- Результат: понимаете процессы и готовы к работе в IT-команде