Как сгенерировать байт-код и сохранить его в файл .class?

у меня есть следующее странное требование.

Мне дают:

  1. Список некоторых имён методов.
  2. Названия и типы параметров вышеуказанных методов.
  3. Функциональность вышеуказанных методов. Это выглядит следующим образом: Для каждого параметра метод преобразует его в строку с помощью toString и получает массив строк.К этому массиву метод применяет функцию foo . Функция foo принимает на входе тип String [] и выводит String . Эти методы возвращают то, что возвращает foo . Код foo задан внутри объекта Java и должен быть доступен как черный ящик.

Информация в пунктах 1. и 2. может быть в текстовом или XML-файле. Для этого мы можем считать, что он доступен внутри объекта Java любым способом, который мы выберем.

Задача состоит в том, чтобы создать файл .class (т. Е. Байт-код), который реализует эти методы и может быть запущен на JVM.

Я думаю эта библиотека ассемблера была бы одним из способов сделать это. Может ли кто-нибудь предложить более простой способ?

[EDIT:] Я могу придумать еще один способ: сначала сгенерируйте файл .java , а затем скомпилируйте его, чтобы получить .class файл.

[Контекст:] Мне нужно сделать это для нескольких сотен методов. Мне нужен ярлык, чтобы я мог автоматизировать свою работу, а не писать код вручную.

8
задан Jus12 14 October 2011 в 18:56
поделиться