powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Полный путь к классу по его названию
13 сообщений из 13, страница 1 из 1
Полный путь к классу по его названию
    #39772646
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Есть класс-фабрика, с методом принимающим String с именем класса, который необходимо возвратить.

Как можно программно узнать путь к классу с именем senderClassName, чтобы убрать уродливое "com.example."?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class SenderFactory {

    public Sender getSender(String senderClassName) {       
        try {
            Class senderClass = Class.forName("com.example." + senderClassName);
            return (Sender) senderClass.newInstance();     
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException ex) {
            Logger.getLogger(SenderFactory.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }
    
}
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772650
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Molasar,

Имхо совсем не уродливо. Замени константой.
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772656
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще возможно узнать путь к классу только по его названию без сложных переборов папок?

Petro123Molasar,

Имхо совсем не уродливо. Замени константой.
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772665
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Molasarбез сложных переборов папок?
https://stackoverflow.com/questions/3188156/difference-between-classes-and-namespaces
Это же не пути а namespase IMHO.
Кинь все классы парсера в одну папку.
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772684
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Molasar, как вы можете узнать имя класса без пакета, где он(класс) находится, при условии, что в разных пакетах могут располагаться классы с одинаковым именем?

Передавайте либо пакет+класс, либо ИмяВашегоКласс.class.


p.s. По-моему, через всю эту ерунду проходят все начинающие явисты...лучше сразу забить делать это. Какая такая задача заставляет вас таки "криво" делать инстансы классов?
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772693
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинклассы с одинаковым именем+1 Тоже об этом подумал.
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772731
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача - создать универсальную фабрику без if и switch, чтобы она возвращала класс по его названию.

ОзверинMolasar, как вы можете узнать имя класса без пакета, где он(класс) находится, при условии, что в разных пакетах могут располагаться классы с одинаковым именем?

Передавайте либо пакет+класс, либо ИмяВашегоКласс.class.


p.s. По-моему, через всю эту ерунду проходят все начинающие явисты...лучше сразу забить делать это. Какая такая задача заставляет вас таки "криво" делать инстансы классов?
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772740
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Molasar,
Ты читаешь ответы?
Названия могут совпадать.
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772741
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Molasar,
Программирование это всегда компромисс. А не биться головой в стену.
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772758
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Molasar, понятно, что вы фабрику делаете и понятно, что у вас там классы делаются по названию. Но зачем эти классы так делать? Для чего они используются?
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772781
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
У его парсер входящих строк команд. 500 команд и 500 классов.
- можно не искать классы а загрузить сразу все. Не хочет.
Можно сделать один класс с 500 методами. Не хочет.
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772833
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно создать свой Classloader.
...
Рейтинг: 0 / 0
Полный путь к классу по его названию
    #39772862
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понял про повторы.
Буду передавать пакеты + класс.

ОзверинMolasar, понятно, что вы фабрику делаете и понятно, что у вас там классы делаются по названию. Но зачем эти классы так делать? Для чего они используются?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Полный путь к классу по его названию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]