Объединение имен пакетов и классов (отражение Java)

1

У меня есть экземпляр Package и имя Class в виде строки.

Есть ли элегантный способ их конкатенации (так что я могу запустить Class.forName() в результате)?

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

  • 0
    Почему вы думаете, что объединение двух не элегантный способ? Строка fqcn = packageName + "." + className; или StringBuilder sb = new StringBuilder (); sb.append (PackageName); sb.append ( ""); sb.append (имя класса);
  • 0
    Как предложил @anacron, конкатенация - это хороший способ, но если вы хотите что-то еще, используйте StringBuilder для добавления.
Показать ещё 1 комментарий
Теги:
reflection
packages

1 ответ

1

Там нет специального средства для присоединения к простым именам классов с именами их пакетов, вам придется сделать это самостоятельно:

Package package = Package.getPackage("java.lang");
String simpleClassName = "String";
Class clazz = Class.forName (package.getName() + "." + simpleClassName);
  • 0
    Благодарю. Вот что я делаю, просто подумал, что должно быть что-то похожее на конкатенацию каталогов и файлов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню