我有这样的方法
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/