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

4
 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的值,我应该怎么做?

请勿使用通用的 List,而应该使用类型化的 List<Company> - Subhrajyoti Majumder
4个回答

2

你需要对列表进行类型转换

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

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

2

由于您的companyList是原始类型,因此您必须明确地将从中获取的对象进行转换

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

但最好为您的API提供类型,这样就不需要进行强制转换。


1
  1. 不要使用原始类型,使用泛型。例如: Arraylist<String>
  2. List companyId = companyList.get(k) 是错误的。companyList.get(k) 返回一个对象。你必须显式地将其强制转换为适当的类型。

1

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

例如:ArrayList<Company>List<Company>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接