首先,由于我是一位全新的Java开发人员并且受命负责处理大量的应用程序,所以我非常失去我的联盟。错误:类型CompassADFAdaptor中的convertProspectIds(Map <String,String>)方法不适用于参数(列表<String>)
我目前拥有这段代码。基本上,它会在Web应用程序的URL上查找一些值,然后将URL变量的名称和URL变量的值传递到应用程序中,然后将其添加到输出的文本流中。所以这些变量看起来像“& LeadID = 123”,这将转化为“LeadId”和“123”。在这一点上,我们重新格式化为XML值,如
<id sequence="1" source="leadId">123</id>
这是负责(理论上)通过他们检查的变量,然后将它们放入一个地图,然后将代码到的代码,这将格式化它们:
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> ProspectTrackingKeys = new HashMap<String, String>();
if (recipSettings.containsKey("leadId")) {
ProspectTrackingKeys.put("LeadId", recipSettings.get("leadId"));
}
if (recipSettings.containsKey("wtk")) {
ProspectTrackingKeys.put("wtk", recipSettings.get("wtk"));
}
if (recipSettings.containsKey("efd")) {
ProspectTrackingKeys.put("efd", recipSettings.get("efd"));
}
if (recipSettings.containsKey("aid")) {
ProspectTrackingKeys.put("aid", recipSettings.get("aid"));
}
if (recipSettings.containsKey("oth")) {
ProspectTrackingKeys.put("oth", recipSettings.get("oth"));
}
list.add(ProspectTrackingKeys);
prospect.setProspect(adaptor.convertProspectIds((Map<String, String>) prospectIds));
然而,代码的最后一行(上文)产生这些错误:
方法setProspect(ArrayList的)是未定义的类型前景
方法convertProspectIds(地图)中的类型CompassADFAdaptor不适用于参数(列表)
这是在参考该代码,这是其中的值应该被传递到和然后格式化为XML文本:
public ArrayList<ProspectId> convertProspectIds(
Map<String, String> recipientSettings) {
ArrayList<ProspectId> prospectIdList = new ArrayList<ProspectId>();
int i = 0;
Iterator it = recipientSettings.entrySet().iterator();
while(it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
ProspectId Id = new ProspectId();
Id.setSequence(i++);
Id.setSource(ProspectIdSource.valueOf(pairs.getKey().toString()));
Id.setValue(pairs.getValue().toString());
prospectIdList.add(Id);
}
return prospectIdList;
}
我不太清楚我缺少什么......有人可以帮我吗?
我很抱歉,但我不太明白如何改变这一点。假设我需要传递地图,所以我有Key和Value对,我该怎么改变? – 2014-09-04 19:27:44
什么是前景标识。这是一个字符串列表吗? – jny 2014-09-04 19:50:02
这将是一组键的值,如: WTK,123 助剂,456 EFD,789 等 – 2014-09-04 21:07:16