如何解决"Method does not exist or incorrect signature"错误



我有以下代码:

public class MergeDuplicatesController {
@AuraEnabled
public static List<Contact> findContacts(String searchValue, Boolean selected, Boolean  isPrime, Integer length) {
searchValue = '%'+searchValue+'%';
//List<ContactWrapper> ContactList = new List<ContactWrapper>();
//integer i = 1;
List<Contact> conList = [SELECT Name, Account.Name FROM Contact WHERE Name LIKE : searchValue];
for(Contact con : conList){
ContactWrapper wr = new ContactWrapper();
wr.isPrime = isPrime;
wr.selected = selected;
conList.add(wr);            
}
return conList;
}   
public class ContactWrapper{
@AuraEnabled
public Boolean selected;
@AuraEnabled
public Boolean isPrime;
@AuraEnabled
public Contact con;
}
}

但它抛出了一个错误:

方法不存在或签名不正确:

void add(MergeDuplicatesController.ContactWrapper)

从类型List<Contact>

如何修复它?

您定义了List<Contact> conList。联系人列表。它只接受Contact类的对象。您不能将ContactWrapper添加到此列表,因为它不是联系人,它不扩展(继承自(联系人。。。

您可能需要类似的东西

public static List<ContactWrapper> findContacts(String searchValue, Boolean selected, Boolean  isPrime, Integer length) {
searchValue = '%'+searchValue+'%';
List<ContactWrapper> ret = new List<ContactWrapper>();
List<Contact> conList = [SELECT Name, Account.Name FROM Contact WHERE Name LIKE : searchValue];
for(Contact con : conList){
ContactWrapper wr = new ContactWrapper();
wr.con = con;
wr.isPrime = isPrime;
wr.selected = selected;
ret.add(wr);            
}
return ret ;
} 

最新更新