我有兩個名爲「BaseCatalog」和「City」的類。 「BaseCatalog」是「City」的父類,換句話說,「City」擴展了「BaseCatalog」類。java.util.List中的類型轉換元素
我有一個名爲「getBaseCatalogObjects」的方法,它接受一個參數catalogType,並返回一個BaseCatalog對象列表。根據給定的類型,列表的類型可能不同,但它總是包含擴展主要BaseCatalog類的對象。
由於此方法是一種通用方法,因此它總是生成一個包含BaseCatalog對象的List。然而,在這種情況下,我肯定列表中的每個BaseCatalog實例也是一個城市對象:
List<BaseCatalog> baseCatalogObjects = getBaseCatalogObjects(CatalogType.CITY);
我想要做的就是這個「baseCatalogObjects」列表轉換到一個名爲「cityObjects」名單這是一件好事像:
List<City> cityObjects = (List<City>) baseCatalogObjects;
是否有可能或有任何有效的方式做到這樣那樣的轉換,而無需創建一個新的java.util.List實例,並遍歷目錄「baseCatalogobjects」?
高興地幫助:) –