Уважаемый форумчане, здравствуйте. Нужен ваш совет.
Допустим у меня есть класс A и, к примеру, три его наследника: B, C и D.
Я создаю коллекцию, скажем ArrayList list, кладу туда list.add(new B()) кого-то или всех из наследников.
Вопрос, как мне проверить, что в коллекции содержатся все наследники? Именно не найти лишних, не убедиться, что все они наследники, а выяснить все ли из трех на месте или кого нет? Пожалуйста, подскажите
Никита
17 уровень
Поиск в коллекции по типу
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей Java Developer в Сбер Expert
30 марта 2020, 16:04
Можно у каждого элемента вызвать метод getClass() и положить в Set<Class>
А потом проверить размер сета
0
Сергеев ВикторMaster
27 марта 2020, 21:23
рефлексией покопаться в проекте проверить все классы на наследование от A.
Потом пройти по листу и у каждого брать класс и проверять по списке
0
Justinian Judge в Mega City One Master
24 марта 2020, 20:20
list.put() это круто ) видел такое пару раз в коде )
Честно говоря, не совсем понятен контекст задачи.
Посмотри вот эту ссылку, погугли еще
https://stackoverflow.com/questions/205573/at-runtime-find-all-classes-in-a-java-application-that-extend-a-base-class
я так понимаю что-то в эту сторону нужно делать, иначе это задача для 13-го уровня минут на 5.
0
Стас Пасинков Software Developer в Zipy Master
25 марта 2020, 09:52
а если у класса А будет 100 наследников? а если N?
где N - это критическое количество ифов, которые вам будет не лень писать?)
0