#java #android #classloader
Вопрос:
Каковы загрузчики классов для следующих классов?
ArrayList<Long>
Map<Integer, Map<Integer, Map<Integer, Integer>>>
int[]
Заранее спасибо
Ответ №1:
Я предполагаю, что вы спрашиваете, как получить загрузчики классов для этих классов во время выполнения:
ArrayList.class.getClassLoader()
Map.class.getClassLoader()
int[].class.getClassLoader()
Обратите внимание, что параметры типа удаляются, поэтому они не имеют отношения к загрузчику классов. Но синтаксис Java для class
литерала требует a TypeIdentifier
, поэтому вы не можете написать это:
ArrayList<Long>.class.getClassLoader() // SYNTAX ERROR
Наконец, обратите внимание, что если загрузчиком классов для соответствующих классов является загрузчик классов начальной загрузки, то getClassloader()
вызов может вернуться null
.