Java 类型不匹配:无法从对象转换为列表

Java 类型不匹配:无法从对象转换为列表,java,list,arraylist,Java,List,Arraylist,MycompanyList包含如下数据: CompanyDAO companyDAO = new CompanyDAO(); List companyList = companyDAO.getAllCompanyList(); 现在我想迭代这些值,我想传递一个值1到query,但是当我把它放在for循环中时,我得到了 [[1, Agastha Medical Center], [2, Agastha Asthma]] for(int k=0;k由于您的公司列表是原始类型,您必须显式地强

MycompanyList包含如下数据:

 CompanyDAO companyDAO = new CompanyDAO();
 List companyList = companyDAO.getAllCompanyList();
现在我想迭代这些值,我想传递一个值1到query,但是当我把它放在for循环中时,我得到了

 [[1, Agastha Medical Center], [2, Agastha Asthma]]

for(int k=0;k由于您的公司列表是原始类型,您必须显式地强制转换从中获得的对象

for(int k=0;k<=companyList.size();k++){

List companyId =companyList.get(k);  //  [1, Agastha Medical Center]  for k=0;

Type mismatch: cannot convert from Object to List
但最好为API提供类型,这样就不需要强制转换

  • 不要使用原始类型使用泛型。例如:
    Arraylist
  • List companyId=companyList.get(k)是您的错误。companyList.get(k)返回一个对象。您必须将其类型转换为 显式地选择合适的类型

  • 提供要从CompanyDAO获取的列表类型


    例如,
    ArrayList
    List

    您必须键入列表

    List companyId = (List) companyList.get(k);
    

    对于(int k=0;kdont使用generic
    List
    ,使用typed
    List
    for(int k=0;k<=companyList.size();k++){
    
    List companyId =(List)companyList.get(k);