有没有什么办法可以在运行时创建泛型类型的特定实例?Java泛型 - 我可以根据变量类型动态创建列表
例如。
Cacheable instance = getCacheable(someInput);
getCacheble方法将返回Cacheable的实例。所以它可以是任何实现Cacheable的类,例如客户,产品等。现在我想创建一个由getCacheable返回的特定类型的列表,如下所示。这可能吗?如果是的话该怎么做?
List<? extends Cacheable> cacheList = new ArrayList<>();
我想根据getCacheable方法返回的实例创建ArrayList<Product> or ArrayList<Customer>
。
由于力擦除这有点不合理,因为名单没有按在运行时没有类型。泛型是用于编译时检查。所以真正的答案取决于你的实际使用情况。你为什么要编译时间检查和如何?在运行时,你可以把任何东西放在任何列表中,泛型只是作为看门人。 – Radiodef