有沒有什麼辦法可以在運行時創建泛型類型的特定實例?Java泛型 - 我可以根據變量類型動態創建列表
例如。
Cacheable instance = getCacheable(someInput);
getCacheble方法將返回Cacheable的實例。所以它可以是任何實現Cacheable的類,例如客戶,產品等。現在我想創建一個由getCacheable返回的特定類型的列表,如下所示。這可能嗎?如果是的話該怎麼做?
List<? extends Cacheable> cacheList = new ArrayList<>();
我想根據getCacheable方法返回的實例創建ArrayList<Product> or ArrayList<Customer>
。
由於力擦除這有點不合理,因爲名單沒有按在運行時沒有類型。泛型是用於編譯時檢查。所以真正的答案取決於你的實際使用情況。你爲什麼要編譯時間檢查和如何?在運行時,你可以把任何東西放在任何列表中,泛型只是作爲看門人。 – Radiodef