我有两个名为“BaseCatalog”和“City”的类。“BaseCatalog”是“City”的父类,换句话说,“City”扩展了“BaseCatalog”类。
我有一个名为“getBaseCatalogObjects”的方法,它接受一个参数 catalogType 并返回 BaseCatalog 对象的列表。根据给定的类型,List 的类型可能不同,但它始终包含扩展主 BaseCatalog 类的对象。
因为这个方法是一个泛型方法,它总是产生一个包含 BaseCatalog 对象的 List。但是在这种情况下,我确信列表中的每个 BaseCatalog 实例也是一个 City 对象:
List<BaseCatalog> baseCatalogObjects = getBaseCatalogObjects(CatalogType.CITY);
我想要做的是将此“baseCatalogObjects”列表转换为一个名为“cityObjects”的列表,类似于:
List<City> cityObjects = (List<City>) baseCatalogObjects;
在不创建新的 java.util.List 实例并遍历列表“baseCatalogobjects”的情况下,是否有可能或有任何有效的方法来进行这样的转换?