我有一个这样的方法
public static LinkedList<Object> getListObjectWithConditionInXMLFile(String className){
LinkedList<Object> lstObj = new LinkedList<Object>();
if(className.equals("Customer")){
//read Data from XML File
Customer customer = ...;
lstObj.add(customer);
}
....
return lstObj;
}
之后我调用这个方法并想要强制转换:
LinkedList<Customer> lstCustomer = (LinkedList<Customer>()) getListObjectWithConditionInXMLFile("Customer");
但它无法施放。 如何从 LinkedList 转换为 LinkedList ? 请帮助我 !非常感谢!
最佳答案
您可以将您的方法重构为如下所示:
public static <E> LinkedList<E> getListObjectWithConditionInXMLFile(Class<E> type){
LinkedList<E> lstObj = new LinkedList<E>();
if (type.equals(Customer.class)) {
Customer customer = ...
lstObj.add((E)customer);
}
return lstObj;
}
通过使方法通用并传递 Class
参数,您可以返回正确类型的列表。
你可以这样调用它
List<Customer> l = getListObjectWithConditionInXMLFile(Customer.class);
关于java - 将 LinkedList<Object> 转换为 LinkedList<Customer>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18662669/