Java Динамическая загрузка класса

Я пытаюсь динамически загружать классы в компонент. Я использую средство выбора файлов, чтобы выбрать файл .JAR, который будет загружен, а затем панель параметров, чтобы получить имя класса.

Я пробирался по Интернету в поисках того, как преобразовать файл Java в URL для того, чтобы чтобы загрузить его в URLClassLoader, и я пришел к выводу:

File myFile = filechooser.getSelectedFile();
String className = JOptionPane.showInputDialog(
    this, "Class Name:", "Class Name", JOptionPane.QUESTION_MESSAGE);

URL myUrl= null;
try {
    myUrl = myFile.toURL();
} catch (MalformedURLException e) {
}

URLClassLoader loader = new URLClassLoader(myUrl);
loader.loadClass(className);

Теперь я получаю «не могу найти символ» или что-то еще?

15
задан Craig P. Motlin 27 August 2010 в 01:41
поделиться

2 ответа

TreeSet основан на TreeMap. И они используют красно-черное дерево, красно-черное дерево является разновидностью AVL.

-5
ответ дан 1 December 2019 в 00:26
поделиться

Из java.util.TreeMap документации:

реализация красно-черного дерева на основе NavigableMap .

По подобным вопросам всегда следует сначала обращаться к документации. API не должен описывать ВСЕ внутреннюю работу класса, но обычно документируется элементарная информация, такая как общие структуры данных и используемые алгоритмы.


Другие мелочи Java Collections Framework

Это все маленькие мелочи, которые также четко задокументированы:

  • TreeSet реализован с помощью TreeMap
  • HashSet реализован с HashMap
  • Collections.sort использует модифицированную сортировку слиянием
  • Map не является Collection
  • ArrayList не указывает точную политику роста (в отличие, скажем, от Vector)

Похожие вопросы

20
ответ дан 1 December 2019 в 00:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: