「BaseCatalog」と「City」という名前の2つのクラスがあります。「BaseCatalog」は「City」の親クラスです。つまり、「City」は「BaseCatalog」クラスを拡張します。
「getBaseCatalogObjects」というメソッドがあります。このメソッドは、1つのパラメーターcatalogTypeを受け取り、BaseCatalogオブジェクトのリストを返します。指定されたタイプに応じて、リストのタイプは異なる場合がありますが、メインのBaseCatalogクラスを拡張するオブジェクトが常に含まれています。
このメソッドはジェネリックメソッドであるため、常にBaseCatalogオブジェクトを含むリストを生成します。ただし、この場合、リスト内の各BaseCatalogインスタンスもCityオブジェクトであると確信しています。
List<BaseCatalog> baseCatalogObjects = getBaseCatalogObjects(CatalogType.CITY);
私がやりたいのは、この「baseCatalogObjects」リストを「cityObjects」というリストに変換することです。これは次のようなものです。
List<City> cityObjects = (List<City>) baseCatalogObjects;
新しいjava.util.Listインスタンスを作成してリスト「baseCatalogobjects」を反復処理せずに、このような変換を行うための効率的な方法はありますか?