Имея в виду ограничения, упомянутые в других ответах, вы также можете использовать openpojo's PojoClassFactory
(, доступный на Maven ) следующим образом:
for(PojoClass pojoClass : PojoClassFactory.enumerateClassesByExtendingType(packageRoot, Superclass.class, null)) {
System.out.println(pojoClass.getClazz());
}
Где packageRoot
- это корневая строка пакетов, которые вы хотите искать (например, "com.mycompany"
или даже просто "com"
), а Superclass
- ваш супертип (это также работает и с интерфейсами) .
не решение, а хак, который может помочь, если вы делаете что-то быстрое и грязное
после того, как вы преобразуете данные таким образом, что вы можете использовать обычную групповую работу, и это должно работать довольно хорошо.
Я предлагаю это, поскольку ваши данные выглядят как названия стран, введенные пользователями.
другая идея:
шаг предварительной обработки:
затем используйте groupby для группировки.