Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Полный путь к классу по его названию / 13 сообщений из 13, страница 1 из 1
12.02.2019, 10:28
    #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
12.02.2019, 10:31
    #39772650
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полный путь к классу по его названию
Molasar,

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

Petro123Molasar,

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

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


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

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

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


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

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


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