У меня есть два класса с именами "BaseCatalog" и "City". «BaseCatalog» является родительским классом «City», другими словами, «City» расширяет класс «BaseCatalog».
У меня есть метод с именем "getBaseCatalogObjects", который принимает один параметр catalogType и
возвращает список объектов BaseCatalog. В соответствии с данным типом тип List может отличаться, но он всегда содержит объекты, расширяющие основной класс BaseCatalog.
Поскольку этот метод является универсальным, он всегда создает список, содержащий объекты BaseCatalog. Однако в этом случае я уверен, что каждый экземпляр BaseCatalog в списке также является объектом City:
List<BaseCatalog> baseCatalogObjects = getBaseCatalogObjects(CatalogType.CITY);
Я хочу преобразовать этот список «baseCatalogObjects» в список с названием «cityObjects», который выглядит примерно так:
List<City> cityObjects = (List<City>) baseCatalogObjects;
Возможно ли это или есть какой-нибудь эффективный способ сделать такое преобразование подобным образом, не создавая новый экземпляр java.util.List и итерируя по списку "baseCatalogobjects"?