可能重複:
How do you cast a List of objects from one type to another in Java?如何從列表<Object>轉換成列表<A>或列表<? extends A>?
在網上搜索了一下,發現這樣做的沒有很好的方式...我的解決方案現在是:
public class A {}
List<Object> obj = new ArrayList<Object>();
obj.add(new A());
// Ugly solution here:
List<A> a = (List<A>) (List) obj;
但這是相當醜陋的,並得到警告。沒有「官方」的做法?
編輯:誰收這個傢伙:我知道張貼在How do you cast a List of objects from one type to another in Java?的解決方案是一樣的一個我張貼在我的問題(只需添加<?>
第一投不完全相同後)我是尋找更「乾淨」的東西。在使用Class<?> clazz = listobj.get(0).getClass
方法獲取類並在運行時轉換爲正確的類的方法(但不知道是否有類似的工作... Eclipse似乎並不喜歡它...)
你爲什麼要創建在首位'名單
@AdamArold謝謝你的回答。是的,我應該更具體一些:'List