类型不匹配:无法从Object转换为List

时间:2014-03-05 10:02:00

标签: java list arraylist

 CompanyDAO companyDAO = new CompanyDAO();
 List companyList = companyDAO.getAllCompanyList();

MycompanyList包含如下数据:

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

现在我想迭代这些值,我希望将值1传递给查询但是当我将它置于for循环中时,我正在获取

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

我需要在for循环中单独读取1的值,我该怎么办?

4 个答案:

答案 0 :(得分:2)

由于您的companyList是原始类型,您必须明确地转换从它获得的对象

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

但最好为您的API提供类型,以便不必进行投射。

答案 1 :(得分:2)

你必须输入强制转换列表

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

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

答案 2 :(得分:1)

  
      
  1. 不要使用原始类型使用泛型。例如:Arraylist<String>
  2.   
  3. 列出companyId = companyList.get(k)是您的错误。 companyList.get(k)返回一个对象。你必须将它强制转换为   明确适当的类型。
  4.   

答案 3 :(得分:1)

提供您希望从CompanyDAO获取的列表类型

实施例。 ArrayList<Company>List<Company>